{"version":3,"file":"static/chunks/pages/[...cpmSlug]-7957f778d6900192.js","mappings":"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","sources":["webpack://_N_E/?233e","webpack://_N_E/./components/Head/Head.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/generated/queries.tsx","webpack://_N_E/../../libs/osc/brands-wrappers/src/lib/parallax-illustrations.tsx","webpack://_N_E/../../libs/osc/brands-wrappers/src/lib/brand-component-theme-inline.tsx","webpack://_N_E/../../libs/osc/brands-wrappers/src/lib/OneLinkWrapper.tsx","webpack://_N_E/../../libs/osc/brands-wrappers/src/lib/use-initialize-conductrics.ts","webpack://_N_E/../../libs/osc/brands-wrappers/src/lib/index.ts","webpack://_N_E/../../libs/osc/brands-wrappers/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/validators.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/parseComponentParams.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/unknown-object-helpers.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/schema.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/adapters/getters.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/helpers.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/transformers/transform-links.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/transformers/compound-image-breakpoint-sizes.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/getBrandCodeFromPage.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/remove-nully-from-array.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/transformers/enhancers.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/add-campaign-id-to-url.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/register-experiment-item.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/mapCpmData.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/fetching/get-page-seo-data.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/has-page-got-h1.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/cpmMappedPage.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/fetchServerCpmPage.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/ErrorBlock.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/CpmMappingError.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/ErrorBoundary.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/context.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/adapters/hooks.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-issues.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/context/CpmMergedBrPageContext.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-data.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-hide-manage-content-button.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/EditorIssues.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/NewContentBanner.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/NullDocumentBanner.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/context/EditorPageSegmentationContext.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/SegmentationWrapper.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/EditWrapper.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/Fallback.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/adapters/components.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/context/CookiesContext.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/get-is-reduced-motion.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/should-render-experiment.ts","webpack://_N_E/../../libs/osc/error-boundary/src/lib/error-boundary.tsx","webpack://_N_E/../../libs/osc/error-boundary/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/DataWrapper.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/ConductricsWrapper.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/context/ConductricsAgents.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/context/PreviewConductricsAgents.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/segments.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/constants.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/context/PreviewSegmentsContext.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-segments.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/filter-experimentation-items.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-sync-br-page.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/validate-component-effects.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/CpmRenderer.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/generateCpmAppInterface.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/fetching/make-client-br-configuration.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/useClientCpmPage.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/mappingEngine/createCpmComponentDefinition.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/GenericError.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-manage-content-button.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-experimentation.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/utils/select-asset-with-aspect-ratio.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/HeadingAnalyzer/HeadingAnalyzer.tsx","webpack://_N_E/../../libs/cpm/cpm-sdk/src/hooks/use-heading-analyzer.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/generated/queries.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandAlerts/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandAlerts/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandCarousel/BrandCarouselAttachedContent.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/utils/media-query.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandCarousel/BrandCarousel.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/utils/id-transformer.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandCarousel/BrandCarouselEditorButtons.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandCarousel/ForTheStayOverlay.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/Context.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandCarousel/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandCarousel/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandShowcase/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandShowcase/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/BrandVideo/index.tsx","webpack://_N_E/../../libs/utilities/images/src/lib/get-aspect-ratio-url.ts","webpack://_N_E/../../libs/utilities/images/src/index.ts","webpack://_N_E/../../libs/osc/collage/src/lib/utils/collage-analytics.ts","webpack://_N_E/../../libs/osc/collage/src/lib/collage-content.tsx","webpack://_N_E/../../libs/osc/collage/src/lib/collage-desktop-image.tsx","webpack://_N_E/../../libs/osc/collage/src/lib/collage.tsx","webpack://_N_E/../../libs/osc/collage/src/lib/index.ts","webpack://_N_E/../../libs/osc/collage/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Collage/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Collage/index.tsx","webpack://_N_E/../../libs/osc/editorial-snippet/src/lib/editorial-snippet.tsx","webpack://_N_E/../../libs/osc/editorial-snippet/src/lib/index.ts","webpack://_N_E/../../libs/osc/editorial-snippet/src/index.ts","webpack://_N_E/../../libs/osc/card-carousel/src/lib/utils/card-carousel-analytics.ts","webpack://_N_E/../../libs/osc/card-carousel/src/lib/card-carousel-item.tsx","webpack://_N_E/../../libs/osc/card-carousel/src/lib/card-carousel.tsx","webpack://_N_E/../../libs/osc/card-carousel/src/index.ts","webpack://_N_E/../../libs/osc/editorial-carousel/src/lib/editorial-carousel.tsx","webpack://_N_E/../../libs/osc/editorial-carousel/src/lib/components/pullquote.tsx","webpack://_N_E/../../libs/osc/editorial-carousel/src/lib/components/stats.tsx","webpack://_N_E/../../libs/osc/editorial-carousel/src/lib/components/timeline.tsx","webpack://_N_E/../../libs/osc/editorial-carousel/src/index.ts","webpack://_N_E/../../libs/osc/chip/src/lib/osc-chip.tsx","webpack://_N_E/../../libs/osc/chip/src/lib/osc-action-chip.tsx","webpack://_N_E/../../libs/osc/chip/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Editorial/BrandEditorialCarousel.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Editorial/EditorialHamptonHexVisual.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Editorial/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Editorial/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Experimentation/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Experimentation/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FourXGrid/HamptonHexVisual.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FourXGrid/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FourXGrid/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FullWidthImage/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FullWidthImage/index.tsx","webpack://_N_E/../../libs/osc/gallery/src/lib/utils/gallery-analytics.ts","webpack://_N_E/../../libs/osc/gallery/src/lib/gallery-image.tsx","webpack://_N_E/../../libs/osc/gallery/src/lib/gallery.tsx","webpack://_N_E/../../libs/osc/gallery/src/lib/tabbed-gallery.tsx","webpack://_N_E/../../libs/osc/gallery/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Gallery/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Gallery/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Grid369/HamptonHexVisual.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Grid369/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Grid369/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/HalfAndHalf/HamptonHexVisual.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/HalfAndHalf/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/HalfAndHalf/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/ImageHeadliner/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/ImageHeadliner/index.tsx","webpack://_N_E/../../libs/osc/hero-image/src/lib/hero-image.tsx","webpack://_N_E/../../libs/osc/hero-image/src/index.ts","webpack://_N_E/../../libs/osc/hero-video/src/lib/hero-video.tsx","webpack://_N_E/../../libs/osc/hero-video/src/index.ts","webpack://_N_E/../../libs/osc/hero-text-overlay/src/lib/hero-text-overlay.tsx","webpack://_N_E/../../libs/osc/hero-text-overlay/src/index.ts","webpack://_N_E/../../libs/osc/scroll-animation/src/lib/get-prefers-reduced-motion.ts","webpack://_N_E/../../libs/osc/scroll-animation/src/lib/ScrollAnimation.tsx","webpack://_N_E/../../libs/osc/scroll-animation/src/lib/index.ts","webpack://_N_E/../../libs/osc/scroll-animation/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/MastheadImage/Masthead-overlay-image.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/MastheadImage/ForTheStayOverlay.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/MastheadImage/utils/masthead-analytics.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/MastheadImage/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/MastheadImage/index.tsx","webpack://_N_E/../../libs/osc/brand-horizontal-tabbed-section/src/lib/brand-horizontal-tabbed-section-content.tsx","webpack://_N_E/../../libs/osc/brand-horizontal-tabbed-section/src/lib/brand-horizontal-tabbed-section.tsx","webpack://_N_E/../../libs/osc/brand-horizontal-tabbed-section/src/lib/index.ts","webpack://_N_E/../../libs/osc/brand-horizontal-tabbed-section/src/index.ts","webpack://_N_E/../../libs/osc/brand-vertical-tabbed-section/src/lib/brand-vertical-tabbed-section-content.tsx","webpack://_N_E/../../libs/osc/brand-vertical-tabbed-section/src/lib/brand-vertical-tabbed-section.tsx","webpack://_N_E/../../libs/osc/brand-vertical-tabbed-section/src/lib/index.ts","webpack://_N_E/../../libs/osc/brand-vertical-tabbed-section/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TabbedSection/HamptonHexVisual.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TabbedSection/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TabbedSection/index.tsx","webpack://_N_E/../../libs/osc/text-block/src/lib/blocks/text-block-cta.tsx","webpack://_N_E/../../libs/osc/text-block/src/lib/blocks/text-block-description.tsx","webpack://_N_E/../../libs/osc/text-block/src/lib/blocks/text-block-heading.tsx","webpack://_N_E/../../libs/osc/text-block/src/lib/blocks/text-block-ordered-list.tsx","webpack://_N_E/../../libs/osc/text-block/src/lib/blocks/text-block-unordered-list.tsx","webpack://_N_E/../../libs/osc/text-block/src/lib/blocks/index.ts","webpack://_N_E/../../libs/osc/text-block/src/lib/text-block.tsx","webpack://_N_E/../../libs/osc/text-block/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TextBlock/MarkdownBlock.tsx","webpack://_N_E/../../libs/osc/curved-heading/src/lib/curved-heading.tsx","webpack://_N_E/../../libs/osc/curved-heading/src/lib/index.ts","webpack://_N_E/../../libs/osc/curved-heading/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TextBlock/svg/by-hilton.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TextBlock/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TextBlock/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TextHighlight/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/TextHighlight/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/VideoPoster/AttachedContent.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/VideoPoster/VideoPoster.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/VideoPoster/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/VideoPoster/index.tsx","webpack://_N_E/../../libs/osc/patchwork-grid/src/lib/utils/patchwork-grid-analytics.ts","webpack://_N_E/../../libs/osc/patchwork-grid/src/lib/patchwork-grid-row.tsx","webpack://_N_E/../../libs/osc/patchwork-grid/src/lib/patchwork-grid.tsx","webpack://_N_E/../../libs/osc/patchwork-grid/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/PatchworkGrid/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/PatchworkGrid/index.tsx","webpack://_N_E/../../libs/osc/filmstrip/src/lib/image-control-button.tsx","webpack://_N_E/../../libs/osc/filmstrip/src/lib/utils.tsx","webpack://_N_E/../../libs/osc/filmstrip/src/lib/utils/filmstrip-analytics.ts","webpack://_N_E/../../libs/osc/filmstrip/src/lib/filmstrip.tsx","webpack://_N_E/../../libs/osc/filmstrip/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Filmstrip/BrandFilmstrip.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Filmstrip/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Filmstrip/index.tsx","webpack://_N_E/../../libs/osc/full-width-media/src/lib/utils/full-width-media-analytics.ts","webpack://_N_E/../../libs/osc/full-width-media/src/lib/full-width-media.tsx","webpack://_N_E/../../libs/osc/full-width-media/src/lib/hampton-hex-block.tsx","webpack://_N_E/../../libs/osc/full-width-media/src/lib/index.ts","webpack://_N_E/../../libs/osc/full-width-media/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/components/brand/full-width-media-copy-overlay/definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FullWidthMediaAndCopy/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FullWidthMediaAndCopy/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FullWidthMediaAndCopyOverlay/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/FullWidthMediaAndCopyOverlay/index.tsx","webpack://_N_E/../../libs/osc/offset/src/lib/utils.tsx","webpack://_N_E/../../libs/osc/offset/src/lib/utils/offset-analytics.ts","webpack://_N_E/../../libs/utilities/get-react-node-inner-text/src/lib/get-react-node-inner-text.ts","webpack://_N_E/../../libs/utilities/get-react-node-inner-text/src/lib/index.ts","webpack://_N_E/../../libs/utilities/get-react-node-inner-text/src/index.ts","webpack://_N_E/../../libs/osc/offset/src/lib/offset.tsx","webpack://_N_E/../../libs/osc/offset/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Offset/BrandOffset.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Offset/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Offset/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Accordion/Accordion.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Accordion/AccordionContent.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Accordion/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/Accordion/index.tsx","webpack://_N_E/../../libs/osc/spacer/src/lib/spacer.tsx","webpack://_N_E/../../libs/osc/spacer/src/lib/index.ts","webpack://_N_E/../../libs/osc/spacer/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/IllustrationBlock/illustrations/livsmart-accent.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/IllustrationBlock/illustrations/livsmart-furniture.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/IllustrationBlock/illustrations/enterprise-filigree.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/IllustrationBlock/illustrations/hampton-signature.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/IllustrationBlock/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/IllustrationBlock/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/DynamicGrid/cpm-component-definition.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/mapping/DynamicGrid/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/utils/constants.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/hooks/use-preview-segments-from-url.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/utils/conductrics.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-shared/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/components/ExpanderMenu.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/mapping/TextBlock/ContentBlocks.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/mapping/TextBlock/mappings.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/mapping/TextBlock/index.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/generatedCpmInterface.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/components/CpmPage.tsx","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/components/CpmPartials.tsx","webpack://_N_E/../../libs/framework/react-query-env-vars/src/lib/react-query-env-vars.ts","webpack://_N_E/../../libs/framework/react-query-env-vars/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/utils/fetch-server-cpm-page.ts","webpack://_N_E/../../libs/cpm/cpm-mapping-honors/src/index.ts","webpack://_N_E/./components/CpmRedirects/CpmRedirects.tsx","webpack://_N_E/./pages/[...cpmSlug].tsx","webpack://_N_E/../../libs/osc/accordion/src/lib/accordion.tsx","webpack://_N_E/../../libs/osc/accordion/src/index.ts","webpack://_N_E/../../libs/osc/vertical-tabs/src/lib/vertical-tab-button.tsx","webpack://_N_E/../../libs/osc/vertical-tabs/src/lib/vertical-tab.tsx","webpack://_N_E/../../libs/osc/vertical-tabs/src/lib/vertical-tab-panel.tsx","webpack://_N_E/../../libs/osc/vertical-tabs/src/lib/vertical-tabs.tsx","webpack://_N_E/../../libs/osc/vertical-tabs/src/lib/index.ts","webpack://_N_E/../../libs/osc/vertical-tabs/src/index.ts","webpack://_N_E/../../libs/cpm/cpm-sdk/src/components/HeadingAnalyzer/HeadingAnalyzer.module.css"],"sourcesContent":["\n    (window.__NEXT_P = window.__NEXT_P || []).push([\n      \"/[...cpmSlug]\",\n      function () {\n        return require(\"private-next-pages/[...cpmSlug].tsx\");\n      }\n    ]);\n    if(module.hot) {\n      module.hot.dispose(function () {\n        window.__NEXT_P.push([\"/[...cpmSlug]\"])\n      });\n    }\n  ","import NextHead from 'next/head';\n\ntype Props = {\n  title: string;\n  description?: string;\n  keywords?: string;\n};\n\nexport const Head: React.FC<React.PropsWithChildren<Props>> = ({\n  title,\n  description,\n  keywords,\n}) => {\n  return (\n    <NextHead>\n      <title key=\"title\">{title}</title>\n      {description && <meta name=\"description\" content={description} />}\n      {keywords && <meta name=\"keywords\" content={keywords} />}\n    </NextHead>\n  );\n};\n","import type * as Types from './types';\n\nimport {\n  useQuery,\n  type QueryClient,\n  type FetchQueryOptions,\n  type UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { DXError } from '@dx-ui/types-graphql';\n\nexport const TogglesDocument = {\n  operationName: 'featureConfigs_featureToggles',\n  operationString: `query featureConfigs_featureToggles($features: [String]!, $configs: [String!]!) {\n  featureToggles: featureToggles(names: $features) {\n    name\n    enabled\n    cacheable\n  }\n  configToggles: featureConfigs(names: $configs) {\n    config\n    name\n  }\n}`,\n  originalOpName: 'Toggles',\n};\nexport function useTogglesQuery<TData = Types.TogglesQuery, TError = DXError>(\n  variables: Types.TogglesQueryVariables,\n  options?: Omit<UseQueryOptions<Types.TogglesQuery, TError, TData>, 'queryKey'>\n) {\n  return useQuery<Types.TogglesQuery, TError, TData>({\n    queryKey: [TogglesDocument, variables],\n    ...options,\n  });\n}\nexport function serverSideTogglesQuery(\n  queryClient: QueryClient,\n  variables: Types.TogglesQueryVariables,\n  options?: FetchQueryOptions<Types.TogglesQuery>\n) {\n  return queryClient.fetchQuery<Types.TogglesQuery>({\n    queryKey: [TogglesDocument, variables],\n    ...options,\n  });\n}\n\nexport const CmsPageModelDocument = {\n  operationName: 'CmsPageModel',\n  operationString: `query CmsPageModel($language: String!, $path: String!) {\n  cmsPageModel(language: $language, path: $path)\n}`,\n  originalOpName: 'CmsPageModel',\n};\nexport function useCmsPageModelQuery<TData = Types.CmsPageModelQuery, TError = DXError>(\n  variables: Types.CmsPageModelQueryVariables,\n  options?: Omit<UseQueryOptions<Types.CmsPageModelQuery, TError, TData>, 'queryKey'>\n) {\n  return useQuery<Types.CmsPageModelQuery, TError, TData>({\n    queryKey: [CmsPageModelDocument, variables],\n    ...options,\n  });\n}\nexport function serverSideCmsPageModelQuery(\n  queryClient: QueryClient,\n  variables: Types.CmsPageModelQueryVariables,\n  options?: FetchQueryOptions<Types.CmsPageModelQuery>\n) {\n  return queryClient.fetchQuery<Types.CmsPageModelQuery>({\n    queryKey: [CmsPageModelDocument, variables],\n    ...options,\n  });\n}\n","import { Parallax } from 'react-scroll-parallax';\n\nexport type IllustrationVariant = (typeof illustrationVariants)[number];\nexport const illustrationVariants = [\n  'es-line-illustration',\n  'hx-hexagon',\n  'none',\n  'wa-cocktail',\n  'wa-feather',\n  'wa-plate',\n  'wa-stairwell',\n  'ww-filigree',\n] as const;\n\nexport const BackgroundIllustration = ({\n  variant,\n  isParallax,\n}: {\n  variant: IllustrationVariant;\n  isParallax?: boolean;\n}) => {\n  switch (variant) {\n    case 'wa-stairwell':\n      return <StairwellIllustration isParallax={isParallax} />;\n    case 'wa-feather':\n      return <FeatherIllustration isParallax={isParallax} />;\n    case 'wa-plate':\n      return <PlateIllustration isParallax={isParallax} />;\n    case 'ww-filigree':\n      return <Filigree />;\n    case 'wa-cocktail':\n      return;\n    case 'es-line-illustration':\n      return <LineIllustration />;\n    case 'none':\n      return;\n  }\n};\n\nexport const Filigree = () => {\n  return (\n    <div className=\"pointer-events-none absolute bottom-0 h-1/2 w-full overflow-hidden\">\n      <div className=\"size-full scale-[2.0] bg-[url('/modules/assets/img/brand/WW/backgrounds/filigree.svg')] opacity-35 sm:scale-[none]\" />\n    </div>\n  );\n};\n\nexport const LineIllustration = () => {\n  return (\n    <div className=\"bg-tertiary pointer-events-none absolute top-0 size-full overflow-hidden\">\n      <div\n        className=\"absolute start-[50%] size-[150%] -translate-x-1/2 translate-y-[-160px] bg-[url('/modules/assets/img/brand/ES/backgrounds/embassy-suites-lines-background.svg')] bg-cover bg-top \n      bg-no-repeat lg:size-[125%] lg:translate-y-0  lg:bg-[bottom_20%_right_50%] xl:bg-[bottom_20%_right_50%]\"\n      />\n    </div>\n  );\n};\n\nexport const StairwellIllustration = ({ isParallax }: { isParallax?: boolean }) => {\n  return (\n    <div className=\"container pointer-events-none absolute bottom-0 start-[50%] aspect-[100/91] h-[500px] w-screen -translate-x-1/2 translate-y-[400px] overflow-visible rtl:translate-x-1/2\">\n      <Parallax className=\"size-full\" speed={isParallax ? 10 : 0}>\n        <div className=\"ms-auto size-full md:w-[70%] lg:w-1/2\">\n          <div\n            className=\"relative h-full\n          bg-[url('/modules/assets/img/brand/WA/backgrounds/WA_stairwell_for_light_background.png')]\n          bg-cover bg-no-repeat ltr:bg-right rtl:bg-left\"\n          />\n        </div>\n      </Parallax>\n    </div>\n  );\n};\n\nexport const FeatherIllustration = ({ isParallax }: { isParallax?: boolean }) => {\n  return (\n    <div className=\"container pointer-events-none absolute bottom-0 start-[50%] aspect-[542/349] h-[600px] w-screen -translate-x-1/2 translate-y-[400px] overflow-visible rtl:translate-x-1/2\">\n      <Parallax className=\"size-full\" speed={isParallax ? 10 : 0}>\n        <div className=\"ms-auto size-full md:w-[90%] lg:w-4/5\">\n          <div\n            className=\"relative h-full\n          bg-[url('/modules/assets/img/brand/WA/backgrounds/WA_feather_for_light_background.png')]\n          bg-contain bg-no-repeat ltr:bg-right rtl:bg-left\"\n          />\n        </div>\n      </Parallax>\n    </div>\n  );\n};\n\nexport const PlateIllustration = ({ isParallax }: { isParallax?: boolean }) => {\n  return (\n    <div className=\"container pointer-events-none absolute bottom-0 start-[50%] aspect-[250/109] h-[400px] w-screen -translate-x-1/2 translate-y-[300px] overflow-visible rtl:translate-x-1/2\">\n      <Parallax className=\"size-full\" speed={isParallax ? 10 : 0}>\n        <div className=\"ms-auto size-full md:w-4/5 lg:w-[70%]\">\n          <div\n            className=\"relative h-full\n          bg-[url('/modules/assets/img/brand/WA/backgrounds/WA_plate_setting_for_light_background.png')]\n          bg-contain bg-no-repeat ltr:bg-right rtl:bg-left\"\n          />\n        </div>\n      </Parallax>\n    </div>\n  );\n};\n","import type * as React from 'react';\nimport cx from 'classnames';\n\nimport { BackgroundIllustration } from './parallax-illustrations';\n\ninterface Effects {\n  animation?: boolean;\n  backgroundImage?: boolean;\n}\n\nexport const getEffectClassNames = (effects: Effects) =>\n  cx({\n    // Only background image effect\n    'bg-img-overlay': effects.backgroundImage,\n  });\n\n/**\n * Themes a component by wrapping it in a div containing custom classes that override CSS props.\n *\n * Reimplementation of dx-hotels-ui BrandComponentThemeWrapper\n */\nexport const BrandComponentThemeInline: React.FC<{\n  componentParams: Record<string, unknown>;\n  componentClassName?: string;\n  brandCode: string;\n  children: React.ReactNode;\n  backgroundIllustration?: React.ComponentProps<typeof BackgroundIllustration>;\n}> = ({\n  children,\n  componentClassName = '',\n  brandCode,\n  backgroundIllustration,\n  componentParams: { theme = '', backgroundImage, anchorId, topPadding, bottomPadding },\n}) => {\n  const effectClassNames = getEffectClassNames({\n    backgroundImage: typeof backgroundImage === 'boolean' ? backgroundImage : false,\n  });\n\n  const id = typeof anchorId === 'string' && anchorId !== '' ? anchorId : undefined;\n  const isLight = theme === 'light';\n  const isDark = theme === 'dark';\n\n  return (\n    <div\n      id={id}\n      data-testid=\"BrandComponentThemeInline\"\n      className={cx(\n        {\n          'bg-transparent': componentClassName === 'header',\n          'bg-bg-dark': brandCode && isDark,\n          'bg-bg-light': brandCode !== 'WA' && isLight,\n          'brand-lx:bg-bg': brandCode === 'LX' && isLight && componentClassName === 'hero-image',\n          'brand-ou:bg-secondary brand-gu:bg-quarternary': !isDark && !isLight,\n          'pt-36': topPadding === 'small',\n          'pt-48': topPadding === 'medium',\n          'pt-64': topPadding === 'large',\n          'pb-36': bottomPadding === 'small',\n          'pb-48': bottomPadding === 'medium',\n          'pb-64': bottomPadding === 'large',\n          'brand-wa:bg-transparent': componentClassName !== 'search-widget-cpm',\n          'bg-bg': componentClassName === 'search-widget-cpm',\n          'brand-wa:bg-bg-light':\n            componentClassName === 'header' || componentClassName === 'search-widget-cpm',\n        },\n        'relative',\n        componentClassName,\n        componentClassName === 'collage'\n          ? 'brand-ol:bg-bg brand-qq:overflow-hidden brand-qq:py-6 brand-qq:md:py-8 brand-qq:lg:py-20'\n          : null\n      )}\n    >\n      {backgroundIllustration ? (\n        <BackgroundIllustration\n          isParallax={backgroundIllustration.isParallax}\n          variant={backgroundIllustration.variant}\n        />\n      ) : null}\n      {effectClassNames ? <div className={effectClassNames} /> : null}\n      <div className=\"relative\">{children}</div>\n    </div>\n  );\n};\n","import type { ReactNode } from 'react';\n\n/**\n * Wrap components with a CSS class to stop OneLink translating the content\n */\nexport const OneLinkWrapper = ({\n  children,\n  componentParams,\n}: {\n  children: ReactNode;\n  componentParams?: Record<string, unknown>;\n}) => {\n  const { oneLinkNoTx } = componentParams || {};\n\n  if (!oneLinkNoTx) {\n    return children;\n  }\n\n  return (\n    <div data-testid=\"OneLinkWrapper\" className=\"OneLinkNoTx\">\n      {children}\n    </div>\n  );\n};\n","import { useRef, useEffect } from 'react';\nimport { useInitConductrics } from '@dx-ui/framework-conductrics';\nimport { useAuth } from '@dx-ui/framework-auth-provider';\nimport Cookies from 'universal-cookie';\n\nexport const useInitializeConductrics = (traitsList: string[] = []) => {\n  const isConductricsInit = useRef(false);\n  const { guestInfo, isLoading, isAuthenticated } = useAuth();\n  const initConductrics = useInitConductrics();\n\n  useEffect(() => {\n    if (!isLoading && !isConductricsInit.current) {\n      isConductricsInit.current = true;\n\n      const tms = new Cookies()\n        .get('TMS')\n        ?.split(',')\n        .filter((entry: string) => (entry.toLowerCase() || '').startsWith('web'))\n        .map((entry: string) => entry.split('=')[1] || '');\n\n      let view = 'app-only-view';\n\n      const isNotHonorsMember = !!tms?.includes('15300019');\n      const isHonorsMember = !!tms?.includes('15217574');\n\n      if (isNotHonorsMember) {\n        view = 'join-view';\n      }\n\n      if (isHonorsMember) {\n        view = 'sign-in-view';\n      }\n\n      const traits = [\n        ...traitsList,\n        `login:${isAuthenticated ? 'yes' : 'no'}`,\n        `component-view:${view}`,\n      ];\n      const { hhonors } = guestInfo || {};\n\n      if (hhonors?.summary?.tier) {\n        traits.push(`tier:${hhonors.summary.tier.toLowerCase()}`);\n      }\n\n      const teamMember =\n        hhonors?.isOwner ||\n        hhonors?.isTeamMember ||\n        hhonors?.isOwnerHGV ||\n        hhonors?.isLongTenure10 ||\n        hhonors?.isLongTenure20;\n\n      traits.push(`teamMember:${teamMember ? 'yes' : 'no'}`);\n      initConductrics({ traits });\n    }\n  }, [isAuthenticated, isLoading, guestInfo, initConductrics, traitsList]);\n};\n","export * from './brand-component-theme-inline';\nexport * from './OneLinkWrapper';\nexport * from './parallax-illustrations';\nexport * from './use-initialize-conductrics';\n","export * from './lib';\n","import type { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport type { IllustrationVariant } from '@dx-ui/osc-brands-wrappers';\nimport { illustrationVariants } from '@dx-ui/osc-brands-wrappers';\nimport type { GuardedType } from '../typeHelpers';\nimport type { textOverlayVariant, IllustrationBlockVariant } from './types';\n\nexport function isBoolean(x: unknown): x is boolean {\n  return x === true || x === false;\n}\n\nexport function isString(x: unknown): x is string {\n  return typeof x === 'string';\n}\n\nexport function isAlignment(x: unknown): x is 'left' | 'right' | 'alternate' | 'round' | 'none' {\n  return x === 'left' || x === 'right' || x === 'alternate' || x === 'round' || x === 'none';\n}\n\nexport function isPosition(x: unknown): x is 'left' | 'right' | 'center' {\n  return x === 'left' || x === 'right' || x === 'center';\n}\n\nexport function isTheme(x: unknown): x is 'light' | 'dark' {\n  return x === 'light' || x === 'dark';\n}\n\nexport function isOrientation(x: unknown): x is 'horizontal' | 'vertical' {\n  return x === 'horizontal' || x === 'vertical';\n}\n\nexport function isHeaderSvg(x: unknown): x is 'byHilton' | 'none' {\n  return x === 'byHilton' || x === 'none';\n}\nexport function isGridColumn(x: unknown): x is '2' | '3' | '4' {\n  return x === '2' || x === '3' || x === '4';\n}\n\nexport function isFullWidthMediaDisplay(\n  x: unknown\n): x is\n  | 'hxHexagonBlue'\n  | 'hxHexagonDarkBlue'\n  | 'hxHexagonDarkOrange'\n  | 'hxHexagonDarkPurple'\n  | 'hxHexagonDarkRed'\n  | 'hxHexagonRed'\n  | 'mediaOnly'\n  | 'mediaWithCopy' {\n  return (\n    x === 'hxHexagonBlue' ||\n    x === 'hxHexagonDarkBlue' ||\n    x === 'hxHexagonDarkOrange' ||\n    x === 'hxHexagonDarkPurple' ||\n    x === 'hxHexagonDarkRed' ||\n    x === 'hxHexagonRed' ||\n    x === 'mediaOnly' ||\n    x === 'mediaWithCopy'\n  );\n}\n\nexport function isImageDisplay(\n  x: unknown\n): x is 'static' | 'textOverlay' | 'imageCarousel' | 'fullCarousel' {\n  return x === 'static' || x === 'textOverlay' || x === 'imageCarousel' || x === 'fullCarousel';\n}\n\nexport function isTabDisplay(\n  x: unknown\n): x is 'text' | 'textAndIcon' | 'textAndlogo' | 'icon' | 'logo' {\n  return x === 'text' || x === 'textAndIcon' || x === 'textAndlogo' || x === 'icon' || x === 'logo';\n}\n\nexport function isEditorialDisplay(x: unknown): x is 'default' | 'snippet' | 'withCarousel' {\n  return x === 'default' || x === 'snippet' || x === 'withCarousel';\n}\n\nexport function isBackgroundIllustration(x: unknown): x is IllustrationVariant {\n  for (const valid of illustrationVariants) {\n    if (valid === x) return true;\n  }\n  return false;\n}\n\nexport const illustrationBlockVariant = [\n  'ey-accent',\n  'ey-furniture',\n  'hx-signature-default',\n  'hx-signature-light',\n  'hx-signature-dark',\n  'ww-filigree-default',\n  'ww-filigree-light',\n  'ww-filigree-dark',\n  'none',\n];\n\nexport function isIllustrationBlock(x: unknown): x is IllustrationBlockVariant {\n  for (const valid of illustrationBlockVariant) {\n    if (valid === x) return true;\n  }\n  return false;\n}\n\nexport const textOverlayVariants = ['forTheStay', 'none'];\n\nexport function isTextOverlay(x: unknown): x is textOverlayVariant {\n  for (const valid of textOverlayVariants) {\n    if (valid === x) return true;\n  }\n  return false;\n}\n\nexport function isPaddingAmount(x: unknown): x is 'default' | 'small' | 'medium' | 'large' {\n  return x === 'default' || x === 'small' || x === 'medium' || x === 'large';\n}\n\nexport function isCmsHeadingLevel(x: unknown): x is 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' {\n  return x === 'h1' || x === 'h2' || x === 'h3' || x === 'h4' || x === 'h5' || x === 'h6';\n}\n\nexport function isInteger(x: unknown): x is number {\n  return Number.isInteger(x);\n}\n\nexport function isHeadingLevel(x: unknown): x is HeadingLevel {\n  if (isInteger(x)) {\n    return x > 0 && x < 7;\n  }\n\n  return false;\n}\n\nexport function isMediaRatio(x: unknown): x is '50-50' | '60-40' | '70-30' {\n  return x === '50-50' || x === '60-40' || x === '70-30';\n}\n\nexport function isCmsAspectRatio(\n  x: unknown\n): x is '3:2' | '3:4' | '1:1' | '16:9' | '18:5' | '21:9' {\n  return x === '3:2' || x === '3:4' || x === '1:1' || x === '16:9' || x === '18:5' || x === '21:9';\n}\n\nexport function convertTopHeadingLevelToInteger(cmsHeadingLevel: unknown) {\n  if (isCmsHeadingLevel(cmsHeadingLevel)) {\n    return parseInt(cmsHeadingLevel.replace('h', ''));\n  }\n}\n\n/**\n * Converts the CMS aspect ratio format of <number>:<number> to the CPM format which is <number>x<number>\n */\ntype ReplaceAspectRatioColon<AspectRatio extends string> =\n  AspectRatio extends `${infer Width}:${infer Height}` ? `${Width}x${Height}` : never;\n\n/**\n * CPM formatted aspect ratios from the subset of aspect ratios that the CMS supports\n */\ntype ConvertedCpmAspectRatio = ReplaceAspectRatioColon<GuardedType<typeof isCmsAspectRatio>>;\n\nexport function convertCmsAspectRatioToCpmAspectRatio(aspectRatio: unknown) {\n  if (isCmsAspectRatio(aspectRatio)) {\n    return aspectRatio.replace(':', 'x') as ConvertedCpmAspectRatio;\n  }\n}\n\nexport function isCpmAspectRatio(x: unknown): x is ConvertedCpmAspectRatio {\n  return x === '3x2' || x === '3x4' || x === '1x1' || x === '16x9' || x === '18x5' || x === '21x9';\n}\n","import type { MappingSchema } from '../schema';\nimport type { ValueOf } from '../typeHelpers';\nimport type { UniversalComponentParams, ComponentParamsProperty } from './types';\nimport {\n  isBoolean,\n  isString,\n  isTheme,\n  isAlignment,\n  isBackgroundIllustration,\n  isHeadingLevel,\n  isPaddingAmount,\n  isPosition,\n  convertTopHeadingLevelToInteger,\n} from './validators';\n\nexport const effectsList = [\n  'animation',\n  'blur',\n  'backgroundImage',\n  'svg',\n  'borderTrim',\n  'horizontalLine',\n  'scrollingAnimation',\n  'noMargin',\n  'backgroundParallax',\n];\n\nexport function makeParamValidator<T, DefaultValue>(\n  validator: (x: unknown) => x is T,\n  defaultValue: DefaultValue\n) {\n  return function doValidation(value: unknown): T | DefaultValue {\n    if (validator(value)) {\n      return value;\n    } else {\n      return defaultValue;\n    }\n  };\n}\n\nfunction sanitizeUniversalParams(\n  params: Partial<Record<string, string | boolean>>\n): UniversalComponentParams {\n  function validOrUndefined<T>(validator: (x: unknown) => x is T, value: unknown): T | undefined {\n    return makeParamValidator(validator, undefined)(value);\n  }\n\n  return {\n    animation: validOrUndefined(isBoolean, params.animation),\n    horizontalLine: validOrUndefined(isBoolean, params.horizontalLine),\n    scrollingAnimation: validOrUndefined(isBoolean, params.scrollingAnimation),\n    noMargin: validOrUndefined(isBoolean, params.noMargin),\n    backgroundImage: validOrUndefined(isBoolean, params.backgroundImage),\n    backgroundParallax: validOrUndefined(isBoolean, params.backgroundImage),\n    backgroundIllustration: validOrUndefined(\n      isBackgroundIllustration,\n      params.isBackgroundIllustration\n    ),\n    topPadding: validOrUndefined(isPaddingAmount, params.topPadding),\n    bottomPadding: validOrUndefined(isPaddingAmount, params.bottomPadding),\n    borderTrim: validOrUndefined(isBoolean, params.borderTrim),\n    oneLinkNoTx: validOrUndefined(isBoolean, params.oneLinkNoTx),\n\n    anchorId: validOrUndefined(isString, params.anchorId),\n    displayOption: validOrUndefined(isString, params.displayOption),\n    display: validOrUndefined(isString, params.display),\n\n    theme: validOrUndefined(isTheme, params.theme),\n\n    textAlign: validOrUndefined(isPosition, params.textAlign),\n    textboxPosition: validOrUndefined(isPosition, params.textAlign),\n    imageDisplay: validOrUndefined(isAlignment, params.imageDisplay),\n\n    topHeadingLevel: validOrUndefined(\n      isHeadingLevel,\n      convertTopHeadingLevelToInteger(params.topHeadingLevel)\n    ),\n\n    agentId: validOrUndefined(isString, params.agentId),\n    variation: validOrUndefined(isString, params.variation),\n  };\n}\n\nfunction stripUndefineds<T>(x: T): T {\n  return JSON.parse(JSON.stringify(x));\n}\n\nexport function parseComponentParams<ComponentSchema extends ValueOf<MappingSchema>>(\n  componentSchema: ComponentSchema,\n  componentParamsRaw: Partial<Record<string, string | boolean>>\n): ComponentParamsProperty<ComponentSchema> {\n  for (const [key, value] of Object.entries(componentParamsRaw)) {\n    // Core+ returns 16 'documentN' keys, mostly with the value \"\". They can safely be deleted\n\n    // matches keys like 'document', 'document1', 'document5', 'document12' etc\n    const isDocumentKey = /^document([0-9]*)$/;\n    if (isDocumentKey.test(key) && value === '') delete componentParamsRaw[key];\n\n    // A lot of 'oneLinkNoTxN' are returned to exclude child items from translation. These keys\n    // can be removed when the value is `false`.\n\n    // matches keys like 'oneLinkNoTx', 'oneLinkNoTx1', 'oneLinkNoTx5', 'oneLinkNoTx15' etc\n    const isOneLinkExcludeFromTranslationKey = /^oneLinkNoTx([0-9]*)$/;\n\n    if (isOneLinkExcludeFromTranslationKey.test(key) && value === false) {\n      delete componentParamsRaw[key];\n    }\n  }\n\n  const universalParams = sanitizeUniversalParams(componentParamsRaw);\n\n  const componentSpecificParams =\n    'componentParams' in componentSchema\n      ? Object.fromEntries(\n          Object.entries(componentSchema.componentParams).map(([key, parser]) => [\n            key,\n            parser(componentParamsRaw[key]),\n          ])\n        )\n      : {};\n\n  const supportedEffects: Record<string, boolean> = {};\n  for (const effect of effectsList) {\n    supportedEffects[effect] = effect in componentSpecificParams;\n  }\n\n  const hasComponentSpecificParams =\n    Object.keys(stripUndefineds(componentSpecificParams)).length > 0;\n  const hasUniversalParams = Object.keys(stripUndefineds(universalParams)).length > 0;\n  const shouldIncludeSupportedEffects = hasComponentSpecificParams && hasUniversalParams;\n\n  const componentSpecificParamsWithSupported = shouldIncludeSupportedEffects\n    ? { ...componentSpecificParams, supportedEffects }\n    : componentSpecificParams;\n\n  return {\n    ...stripUndefineds({\n      ...universalParams,\n      ...componentSpecificParamsWithSupported,\n    } as ComponentParamsProperty<ComponentSchema>),\n  };\n}\n","/**\ntype asserts that the provided value is an object with a property, but makes no guarantee on\nthe property's type\n*/\nexport function hasProp<Prop extends string>(x: unknown, prop: Prop): x is Record<Prop, unknown> {\n  return !!(x && typeof x === 'object' && prop in x);\n}\n\n/**\nGets a property from an unknown value.\nIf the value is an object, a string prop will return the property with that name\nIf the value is an array, an integer prop will return the property at that index\nIf the value is not an object that contains the specified prop, will return null\n*/\nexport function getProp(x: unknown, prop: string | number): unknown {\n  if (typeof prop === 'string') {\n    if (hasProp(x, prop)) {\n      return x[prop];\n    }\n  } else {\n    if (x && Array.isArray(x)) {\n      return x[prop];\n    }\n  }\n\n  return null;\n}\n\n/**\nRecursivly traverses a value, returning the value at that path, if it exists\n*/\nexport function getPath(x: unknown, path: (string | number)[]): unknown {\n  let acc = x;\n  for (const prop of path) {\n    acc = getProp(acc, prop);\n  }\n  return acc;\n}\n","import type {\n  AwardData,\n  BrandData,\n  BrandNavigationListData,\n  EditorialData,\n  EventData,\n  PolicyData,\n  PlaceData,\n  MessageData,\n  PartnerData,\n  StoryData,\n  // FaqData,\n  NavigationListData,\n  BrComponent,\n  FaqData,\n} from './adapters/types';\nimport type { OptionalUndefineds, Reify, UnionMapping, ValueOf } from './typeHelpers';\nimport { makeParamValidator } from './mappingEngine/parseComponentParams';\nimport {\n  isBoolean,\n  isString,\n  isTheme,\n  isAlignment,\n  isBackgroundIllustration,\n  isPosition,\n  isIllustrationBlock,\n  isTextOverlay,\n  isFullWidthMediaDisplay,\n  isMediaRatio,\n  isHeaderSvg,\n  isOrientation,\n  isImageDisplay,\n  isTabDisplay,\n  isEditorialDisplay,\n  isGridColumn,\n  isCmsAspectRatio,\n} from './mappingEngine/validators';\nimport { getPath } from './utils/unknown-object-helpers';\n\nexport const mappingSchema = {\n  '3-6-9 Grid': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['threeSixNineGrid', 'threeSixNineExpansionPanel'],\n    assets: ['1x1', '3x2'],\n    maintainUnsegmentedCount: true,\n    componentParams: {\n      animation: makeParamValidator(isBoolean, false),\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isString, ''),\n      listTextAlign: makeParamValidator(isPosition, 'left' as const),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Story', 'Event', 'Place', 'Message'],\n  },\n\n  '4X Grid': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['fourXGrid', 'fourXExpansionPanel'],\n    assets: ['3x4', '16x9'],\n    maintainUnsegmentedCount: true,\n    componentParams: {\n      animation: makeParamValidator(isBoolean, false),\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isString, ''),\n      listTextAlign: makeParamValidator(isPosition, 'left' as const),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Story', 'Event', 'Place', 'Message'],\n  },\n\n  'Brand Showcase': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Brand'],\n  },\n\n  Accordion: {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Faq', 'Policy', 'Story'],\n  },\n\n  'Brand Video': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  BrandAlerts: {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n  },\n\n  Carousel: {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['brandCarousel'],\n    // New aspect ratio image format - \"asset\" matches the name in the CMS\n    assets: ['1x1', '3x2', '21x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      noMargin: makeParamValidator(isBoolean, false),\n      text: makeParamValidator(isTextOverlay, false),\n      orientation: makeParamValidator(isPosition, 'left' as const),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Story', 'Event', 'Brand', 'Place', 'Partner'],\n  },\n\n  Collage: {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['collage', 'threeSixNineGrid'],\n    assets: ['1x1', '3x2', '16x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      animation: makeParamValidator(isBoolean, false),\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      imageDisplay: makeParamValidator(isAlignment, 'alternate' as const),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Story', 'Partner'],\n  },\n\n  'Dynamic Grid': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [\n      'threeSixNineExpansionPanel',\n      'fourXGrid',\n      'fourXExpansionPanel',\n      'threeSixNineGrid',\n      'collage',\n      'brandCarousel',\n      'halfAndHalf',\n    ],\n    assets: ['1x1', '3x2', '3x4', '16x9', '21x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      animation: makeParamValidator(isBoolean, false),\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      imageDisplay: makeParamValidator(isAlignment, 'alternate' as const),\n      display: makeParamValidator(isString, ''),\n      listTextAlign: makeParamValidator(isPosition, 'left' as const),\n      gridColumns: makeParamValidator(isGridColumn, 'auto' as const),\n      aspectRatioDesktop: makeParamValidator(isCmsAspectRatio, '' as const),\n      aspectRatioTablet: makeParamValidator(isCmsAspectRatio, '' as const),\n      aspectRatioMobile: makeParamValidator(isCmsAspectRatio, '' as const),\n    },\n    cmsDocumentTypes: ['Story', 'Partner'],\n  },\n\n  Editorial: {\n    mappingKind: 'DataDocument',\n    isEditable: true,\n    namedImages: ['collage', 'tabs'],\n    assets: ['1x1', '3x2'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isEditorialDisplay, 'default' as const),\n      // Editorial component expects a default value\n      theme: makeParamValidator(isTheme, '' as const),\n      imageDisplay: makeParamValidator(isAlignment, 'none'),\n    },\n    cmsDocumentTypes: ['Editorial'],\n  },\n\n  Experimentation: {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['halfAndHalf', 'fourXExpansionPanel'],\n    assets: ['3x2', '18x5', '16x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      experienceId: makeParamValidator(isString, ''),\n      experienceData: makeParamValidator(isString, ''),\n    },\n    cmsDocumentTypes: ['Story'],\n  },\n\n  Footer: {\n    mappingKind: 'NavigationListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: ['NavigationList'],\n  },\n\n  'Film Strip': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['halfAndHalf', 'fourXExpansionPanel'],\n    assets: ['3x2', '18x5', '16x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Full Width Image': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['fullWidth'],\n    assets: ['3x2', '18x5'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  Gallery: {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['halfAndHalf', 'fourXExpansionPanel'],\n    assets: ['1x1', '3x2', '21x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Full-Width Media and Copy': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['fullWidth'],\n    assets: ['1x1', '16x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isFullWidthMediaDisplay, 'static'),\n      theme: makeParamValidator(isTheme, '' as const),\n      textAlign: makeParamValidator(isPosition, ''),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Full-Width Media and Copy Overlay': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['fullWidth'],\n    assets: ['1x1', '16x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isFullWidthMediaDisplay, 'static'),\n      theme: makeParamValidator(isTheme, '' as const),\n      textAlign: makeParamValidator(isPosition, ''),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Half & Half': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['halfAndHalf'],\n    assets: ['3x2'],\n    maintainUnsegmentedCount: true,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isImageDisplay, 'static'),\n      imageDisplay: makeParamValidator(isString, ''),\n      listTextAlign: makeParamValidator(isPosition, 'left' as const),\n      noMargin: makeParamValidator(isBoolean, false),\n      mediaRatio: makeParamValidator(isMediaRatio, '50-50' as const),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Message', 'Partner', 'Story', 'Place'],\n  },\n\n  Header: {\n    mappingKind: 'NavigationListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: ['NavigationList', 'BrandNavigationList'],\n  },\n\n  'Honors Multicolumn': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n  },\n\n  'Honors Points Toolbar': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n  },\n\n  'Honors Rotating Tiles': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n  },\n\n  'Honors Tabbed Icons': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n  },\n\n  'Honors Tier Tracker': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n  },\n\n  'Illustration Block': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n    componentParams: {\n      illustration: makeParamValidator(isIllustrationBlock, 'none' as const),\n    },\n  },\n\n  'Image Headliner': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['imageHeadliner'],\n    assets: ['3x2'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Masthead Image': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['fullWidth'],\n    assets: ['3x2', '18x5', '16x9'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      animation: makeParamValidator(isBoolean, false),\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      display: makeParamValidator(isImageDisplay, 'static'),\n      horizontalLine: makeParamValidator(isBoolean, false),\n      scrollingAnimation: makeParamValidator(isBoolean, false),\n      textboxPosition: makeParamValidator(isString, ''),\n      textAlign: makeParamValidator(isPosition, 'center' as const),\n      text: makeParamValidator(isTextOverlay, false),\n      orientation: makeParamValidator(isPosition, 'left' as const),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Offset Grid': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['halfAndHalf', 'fourXExpansionPanel'],\n    assets: ['2x1'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Editorial', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Patchwork Grid': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['collage', 'halfAndHalf', 'fourXExpansionPanel'],\n    assets: ['1x1', '2x1'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Editorial', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Search Widget': {\n    mappingKind: 'Unmapped',\n    isEditable: false,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    cmsDocumentTypes: [],\n    componentParams: {\n      aaaRate: makeParamValidator(isBoolean, false),\n      travelAgentRate: makeParamValidator(isBoolean, false),\n      governmentOrMilitaryRate: makeParamValidator(isBoolean, false),\n      seniorRate: makeParamValidator(isBoolean, false),\n      redeemPts: makeParamValidator(isBoolean, false),\n      aarpRate: makeParamValidator(isBoolean, false),\n      deeplinkParameter1: makeParamValidator(isString, ''),\n      deeplinkParameter2: makeParamValidator(isString, ''),\n      deeplinkParameter3: makeParamValidator(isString, ''),\n      deeplinkParameterValue1: makeParamValidator(isString, ''),\n      deeplinkParameterValue2: makeParamValidator(isString, ''),\n      deeplinkParameterValue3: makeParamValidator(isString, ''),\n      displayOption: makeParamValidator(isString, ''),\n    },\n  },\n\n  'Tabbed Section': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: ['tabs'],\n    assets: ['3x2'],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      tabDisplay: makeParamValidator(isTabDisplay, 'text'),\n      tabbedSectionDisplay: makeParamValidator(isOrientation, 'horizontal' as const),\n      listTextAlign: makeParamValidator(isPosition, 'left' as const),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Text Component': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      animation: makeParamValidator(isBoolean, false),\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      borderTrim: makeParamValidator(isBoolean, false),\n      textAlign: makeParamValidator(isString, ''),\n      curvedHeader: makeParamValidator(isBoolean, false),\n      headerSvg: makeParamValidator(isHeaderSvg, 'none' as const),\n    },\n    cmsDocumentTypes: ['Policy', 'Story', 'Faq'],\n  },\n\n  'Text Highlight': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n      oneLinkNoTx1: makeParamValidator(isBoolean, false),\n      oneLinkNoTx2: makeParamValidator(isBoolean, false),\n      oneLinkNoTx3: makeParamValidator(isBoolean, false),\n      oneLinkNoTx4: makeParamValidator(isBoolean, false),\n      oneLinkNoTx5: makeParamValidator(isBoolean, false),\n      oneLinkNoTx6: makeParamValidator(isBoolean, false),\n      oneLinkNoTx7: makeParamValidator(isBoolean, false),\n      oneLinkNoTx8: makeParamValidator(isBoolean, false),\n      oneLinkNoTx9: makeParamValidator(isBoolean, false),\n      oneLinkNoTx10: makeParamValidator(isBoolean, false),\n      oneLinkNoTx11: makeParamValidator(isBoolean, false),\n      oneLinkNoTx12: makeParamValidator(isBoolean, false),\n      oneLinkNoTx13: makeParamValidator(isBoolean, false),\n      oneLinkNoTx14: makeParamValidator(isBoolean, false),\n      oneLinkNoTx15: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Event', 'Partner', 'Place', 'Story'],\n  },\n\n  'Video Poster': {\n    mappingKind: 'ListDocument',\n    isEditable: true,\n    namedImages: [],\n    assets: [],\n    maintainUnsegmentedCount: false,\n    componentParams: {\n      backgroundIllustration: makeParamValidator(isBackgroundIllustration, 'none' as const),\n      backgroundParallax: makeParamValidator(isBoolean, false),\n    },\n    cmsDocumentTypes: ['Award', 'Brand', 'Event', 'Partner', 'Place', 'Story'],\n  },\n} as const;\n\nexport type MappingSchema = typeof mappingSchema;\nexport type MappedComponentName = keyof MappingSchema;\nexport type MappedComponent = ValueOf<MappingSchema>;\n\nexport function isMappedComponentName(x: string): x is MappedComponentName {\n  return Object.keys(mappingSchema).includes(x);\n}\nexport function getBrComponentName(componentBr: BrComponent): string {\n  const name = getPath(componentBr, ['model', 'label']);\n  return typeof name === 'string' ? name : '';\n}\n\nexport type ImageVariant = MappedComponent['namedImages'][number];\nexport type MappingKind = MappedComponent['mappingKind'];\n\nexport type CmsDocumentType =\n  | MappedComponent['cmsDocumentTypes'][number]\n  | 'ListDocument'\n  | 'NavigationList'\n  | 'BrandNavigationList';\n\nexport type CmsNamedDataTypes = {\n  Award: AwardData;\n  Brand: BrandData;\n  BrandNavigationList: BrandNavigationListData;\n  Editorial: EditorialData;\n  Event: EventData;\n  Message: MessageData;\n  Partner: PartnerData;\n  Place: PlaceData;\n  Policy: PolicyData;\n  Story: StoryData;\n  Faq: FaqData;\n  NavigationList: NavigationListData;\n};\n\nexport type CmsDataTypesUnion = CmsNamedDataTypes[MappedComponent['cmsDocumentTypes'][number]] & {\n  ref: { $ref: string };\n};\nexport type CmsDataTypesIntersection = Reify<OptionalUndefineds<UnionMapping<CmsDataTypesUnion>>>;\nexport type CmsUnknownComponentParams = Record<string, unknown>;\n","import type {\n  ImagePointer,\n  ImageData,\n  ImageWithVariants,\n  CmsImageVariantScreenSize,\n  ImageVariantNames,\n  ImageCompound,\n  BrComponent,\n  BrPage,\n  BrReference,\n  BaseData,\n  Models,\n  AssetVariants,\n  Asset,\n  AssetVariantNames,\n} from './types';\nimport type { BrandImageVariantSize } from '@dx-ui/gql-types';\nimport type { CmsDocumentType } from '../schema';\n\nexport const getFromPageByRef = <T>(\n  ref: string | BrReference | null,\n  page: BrPage | null\n): T | null => {\n  if (ref === null) {\n    return null;\n  }\n  if (page === null) {\n    return null;\n  }\n\n  const content = page.getContent(ref);\n\n  if (!content) {\n    return null;\n  }\n\n  const data = content.getData() as T;\n\n  return {\n    ...data,\n    ref,\n  };\n};\n\ninterface ImageVariant {\n  _id: string;\n  __typename: string;\n  url: string;\n  size: BrandImageVariantSize;\n}\n\nfunction mapVariantScreenSizeToBrandImageSize(\n  name: CmsImageVariantScreenSize | null\n): BrandImageVariantSize {\n  switch (name) {\n    case 'dxcms:mobile':\n      return 'xs';\n    case 'dxcms:tablet':\n      return 'sm';\n    case 'dxcms:desktop':\n      return 'md';\n    default:\n      return 'md';\n  }\n}\n\nexport const getImageWithVariantsFromPage = (\n  image: ImagePointer,\n  variant: ImageVariantNames,\n  page?: BrPage\n): ImageWithVariants | null => {\n  if (!image) {\n    return null;\n  }\n\n  const content = getFromPageByRef<ImageData | null>(image.imageRef ?? null, page ?? null);\n\n  if (!content) {\n    return null;\n  }\n\n  const contentVariants = content?.image?.variants?.[variant];\n\n  if (!contentVariants) {\n    return null;\n  }\n\n  const variants = contentVariants\n    .map((img) => {\n      const _id = img.id;\n\n      if (!_id) {\n        return null;\n      }\n\n      return {\n        _id,\n        url: img.cdnLink,\n        size: mapVariantScreenSizeToBrandImageSize(img.name ?? null),\n        __typename: 'BrandImageVariant',\n      };\n    })\n    .filter(Boolean) as ImageVariant[];\n\n  if (variants.length === 0) {\n    return null;\n  }\n\n  const firstVariant = variants[0];\n\n  if (!firstVariant) {\n    return null;\n  }\n\n  const _id = firstVariant._id;\n\n  return {\n    _id, // GridThreeSixNine uses id of first variant\n    altText: content.altText ?? '',\n    variants,\n    __typename: 'BrandImage',\n  };\n};\n\nexport const makeGetImageForPage =\n  (page: BrPage) =>\n  (image: ImagePointer, variant: ImageVariantNames): ImageWithVariants | null =>\n    getImageWithVariantsFromPage(image, variant, page);\n\nexport const getImageCompound = (\n  image: ImagePointer,\n  variant: ImageVariantNames,\n  page?: BrPage\n): ImageCompound | null => {\n  if (!image?.imageRef) {\n    return null;\n  }\n\n  const content = getFromPageByRef<ImageData | null>(image.imageRef, page ?? null);\n\n  if (!content) {\n    return null;\n  }\n\n  const compoundedImage = getImageWithVariantsFromPage(image, variant, page);\n\n  if (compoundedImage === null) {\n    return null;\n  }\n\n  return {\n    _id: content.id,\n    image: compoundedImage,\n    expansionPanelImage: null,\n    caption: image.caption ?? '',\n    captionLink: image.captionLink ?? '',\n    campaignId: image.campaignId ?? undefined,\n  };\n};\n\nexport const getAssetImage = (\n  image: ImagePointer,\n  page: BrPage,\n  variantsSizes: readonly AssetVariantNames[]\n) => {\n  const ref = image?.assetRef || image?.imageRef;\n\n  if (!ref) {\n    return null;\n  }\n\n  const content = getFromPageByRef<ImageData | null>(ref, page);\n\n  if (!content || !content.image?.variants) {\n    return null;\n  }\n\n  // Only include required variants for component\n  const variants: Record<keyof AssetVariants, Asset> = Object.entries(\n    content.image.variants\n  ).reduce((variants, [key, images]) => {\n    const size = key as AssetVariantNames;\n\n    if (!variantsSizes.includes(size) || !images.length) {\n      return variants;\n    }\n\n    // Asset type images only ever have 1 item so drop the array\n    variants[size] = images[0];\n\n    return variants;\n  }, {} as Record<keyof AssetVariants, Asset>);\n\n  if (!Object.keys(variants).length) {\n    return null;\n  }\n\n  return {\n    variants,\n    id: content.id,\n    altText: content.altText ?? '',\n    caption: image.caption ?? '',\n    captionLink: image.captionLink ?? '',\n    campaignId: image.campaignId,\n  };\n};\n\nexport function getDocumentOfTypeFromPageAndComponent<T extends BaseData>(\n  documentTypes: CmsDocumentType[] | null,\n  component: BrComponent,\n  page: BrPage\n): T[] | null {\n  const models = component.getModels();\n\n  if (documentTypes?.length) {\n    const documentTypesWithPrefix = documentTypes.map((documentType) => `dxcms:${documentType}`);\n    let data: T | null = null;\n\n    //This is a slightly weird way of selecting that will return the *LAST*\n    //matching element found. Once our e2e tests are more stable, we should review\n    //if this is actually useful behaviour, or if we can just use a map here\n    //and return the whole array\n\n    for (const document of Object.values(models)) {\n      if (document && document?.$ref) {\n        const docData = page.getContent(document)?.getData();\n\n        if (documentTypesWithPrefix.includes(docData?.contentType)) {\n          data = docData as unknown as T;\n        }\n      }\n    }\n\n    if (data) {\n      return [data];\n    } else {\n      return null;\n    }\n  } else {\n    if (models.document) {\n      return Object.values(models)\n        .map((document) => {\n          if (document && document?.$ref) {\n            const docData = page.getContent(document)?.getData();\n\n            return docData;\n          } else {\n            return null;\n          }\n        })\n        .filter(Boolean) as unknown as T[];\n    }\n  }\n\n  return null;\n}\n\n/**\n * Convert a document key to an integer so it can be sorted properly\n * @param key: document key e.g. \"document\" | \"document1\" | \"document2\"\n */\nconst convertDocumentKeyToInt = (key: string) => {\n  // Remove \"document\" from the key so we can parse the number\n  const value = key.replace('document', '0');\n  return parseInt(value, 10);\n};\n\nexport const modelsToRefs = (models: Models) => {\n  return Object.keys(models)\n    .sort((a, b) => (convertDocumentKeyToInt(a) < convertDocumentKeyToInt(b) ? -1 : 1))\n    .map((modelKey) => models[modelKey]);\n};\n\n/**\n * Map document references to the document number for inline lists\n */\nexport const getDocumentKeyNumbersMap = (models: Models) => {\n  const documentNumbers = Object.keys(models).reduce((keyNumbers, key) => {\n    const $ref = models[key]?.$ref;\n\n    if (!$ref) {\n      return keyNumbers;\n    }\n\n    let documentNumber = convertDocumentKeyToInt(key);\n\n    // \"document\" will be converted into 0, so we need to reassign it to 1\n    if (documentNumber === 0) {\n      documentNumber = 1;\n    }\n\n    return {\n      ...keyNumbers,\n      [$ref]: documentNumber,\n    };\n  }, {} as Record<string, number>);\n\n  return new Map(Object.entries(documentNumbers));\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\ninterface MakePipe {\n  <A, B, C, D>(f1: (data: A) => B, f2: (data: B) => C, f3: (data: C) => D): (value: A) => D;\n\n  <A, B, C, D, E>(f1: (data: A) => B, f2: (data: B) => C, f3: (data: C) => D, f4: (data: D) => E): (\n    value: A\n  ) => E;\n\n  <A, B, C, D, E, F>(\n    f1: (data: A) => B,\n    f2: (data: B) => C,\n    f3: (data: C) => D,\n    f4: (data: D) => E,\n    f5: (data: E) => F\n  ): (value: A) => F;\n\n  <A, B, C, D, E, F, G>(\n    f1: (data: A) => B,\n    f2: (data: B) => C,\n    f3: (data: C) => D,\n    f4: (data: D) => E,\n    f5: (data: E) => F,\n    f6: (data: F) => G\n  ): (value: A) => G;\n\n  <A, B, C, D, E, F, G, H>(\n    f1: (data: A) => B,\n    f2: (data: B) => C,\n    f3: (data: C) => D,\n    f4: (data: D) => E,\n    f5: (data: E) => F,\n    f6: (data: F) => G,\n    f7: (data: G) => H\n  ): (value: A) => H;\n}\n\nexport const makePipe: MakePipe =\n  (...fns: ((data: any) => any)[]) =>\n  (value: any) =>\n    fns.reduce((acc, fn) => fn(acc), value);\n\nexport function objectMap<Keys extends string | number | symbol, In, Out>(\n  obj: Record<Keys, In>,\n  fn: (before: In) => Out\n): Record<Keys, Out> {\n  return Object.fromEntries(\n    Object.entries(obj).map(([key, val]: any) => [key, fn(val)] as any)\n  ) as any;\n}\n\nexport function objectMapWithKey<Keys extends string | number | symbol, In, Out>(\n  obj: Record<Keys, In>,\n  fn: (key: Keys, before: In) => Out\n): Record<Keys, Out> {\n  return Object.fromEntries(\n    Object.entries(obj).map(([key, val]: any) => [key, fn(key, val)] as any)\n  ) as any;\n}\n\n/**\n * getServersideProps has some (insane) demand that your returned data may not contain `undefined`\n * this is the fastest way to strip those values\n */\nexport function removeUndefineds<T>(x: T): T {\n  return JSON.parse(JSON.stringify(x));\n}\n\nexport function makeWriteable<T>(x: readonly T[]): T[] {\n  return x as any;\n}\n","import type {\n  CmsDomLink,\n  OscDomLink,\n  AddCampaignCodeToUrl,\n  NavigationListData,\n  BrandNavigationListData,\n  CpmBrandNavigationItem,\n  CpmBrandNavigationList,\n  CpmNavigationList,\n} from '../adapters/types';\n\n/** Convert an <a href/> definition object from Cms structure to Osc structure */\nexport function transformLink(\n  link: CmsDomLink | null | undefined,\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n): OscDomLink | null {\n  if (!link) {\n    return null;\n  }\n\n  const translatedLink: OscDomLink = {\n    _id: '',\n    adaDescription: link.adaDescription ?? '',\n    isNewWindow: Boolean(link.isNewWindow),\n    label: link.linkLabel,\n    url: addCampaignCodeToUrl(link.linkUrl, link.campaignId),\n    campaignId: link.campaignId ?? undefined,\n  };\n\n  if (link.experimentationConfiguration) {\n    translatedLink.experimentationConfiguration = link.experimentationConfiguration;\n  }\n\n  return translatedLink;\n}\n\nexport function translateNavigationListLinks(\n  navigationItems: NavigationListData['items'] | BrandNavigationListData['items'],\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n) {\n  if (!!navigationItems && isBrandNavigationDocumentItems(navigationItems)) {\n    return {\n      items: navigationItems\n        .map((navItem) => {\n          const secondaryItems = navItem.secondaryNavItems?.[0]?.links\n            ?.map((link) => transformLink(link, addCampaignCodeToUrl))\n            .filter((link): link is OscDomLink => link !== null);\n\n          return {\n            primaryNav: transformLink(navItem.primaryNav, addCampaignCodeToUrl),\n            secondaryNavItems: secondaryItems || [],\n          };\n        })\n        .filter((item): item is CpmBrandNavigationItem => item.primaryNav !== null),\n    } as CpmBrandNavigationList;\n  }\n\n  if (!!navigationItems && isNavigationListDocumentItems(navigationItems)) {\n    return {\n      items: navigationItems\n        .filter((linkGroup): linkGroup is { links: CmsDomLink[] } =>\n          Array.isArray(linkGroup?.links)\n        )\n        .map((linkGroup) => ({\n          links: linkGroup.links\n            .map((link) => transformLink(link, addCampaignCodeToUrl))\n            .filter((link): link is OscDomLink => link !== null),\n        })),\n    } as CpmNavigationList;\n  }\n\n  return {\n    items: null,\n  };\n}\n\nfunction isNavigationListDocumentItems(items: unknown): items is NavigationListData['items'] {\n  return Array.isArray(items) && items.length > 0 && 'links' in items[0];\n}\n\nfunction isBrandNavigationDocumentItems(items: unknown): items is BrandNavigationListData['items'] {\n  return Array.isArray(items) && items.length > 0 && 'primaryNav' in items[0];\n}\n","/**\n * This file contains aspect ratio and width/height measurements for each compound image type\n * used in the schema.ts file (located next to this file).\n *\n * Take care to update this file with any new \"asset\"/\"image compound\" types that are added or\n * the editor (dx-cpm-lite) won't be able to display images correctly\n */\n\nimport type { AssetVariants } from '../adapters/types';\n\ntype CompoundImageBreakpointSize = {\n  aspectRatio: keyof AssetVariants;\n  sizes: {\n    height: number;\n    width: number;\n  };\n};\n\ntype CompoundImageBreakpointSizes = {\n  xs: CompoundImageBreakpointSize;\n  sm: CompoundImageBreakpointSize;\n  md: CompoundImageBreakpointSize;\n};\n\nexport const compoundImageBreakpointSizes: Record<string, CompoundImageBreakpointSizes> = {\n  collage: {\n    xs: {\n      aspectRatio: '1x1',\n      sizes: {\n        height: 375,\n        width: 375,\n      },\n    },\n    sm: {\n      aspectRatio: '1x1',\n      sizes: {\n        height: 768,\n        width: 768,\n      },\n    },\n    md: {\n      aspectRatio: '1x1',\n      sizes: {\n        height: 820,\n        width: 820,\n      },\n    },\n  },\n  tabs: {\n    xs: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 185,\n        width: 320,\n      },\n    },\n    sm: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 340,\n        width: 770,\n      },\n    },\n    md: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 750,\n        width: 1045,\n      },\n    },\n  },\n  threeSixNineGrid: {\n    xs: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 150,\n        width: 225,\n      },\n    },\n    sm: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 150,\n        width: 225,\n      },\n    },\n    md: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 230,\n        width: 345,\n      },\n    },\n  },\n  fourXExpansionPanel: {\n    xs: {\n      aspectRatio: '16x9',\n      sizes: {\n        height: 209,\n        width: 320,\n      },\n    },\n    sm: {\n      aspectRatio: '16x9',\n      sizes: {\n        height: 422,\n        width: 767,\n      },\n    },\n    md: {\n      aspectRatio: '16x9',\n      sizes: {\n        height: 999,\n        width: 1277,\n      },\n    },\n  },\n  halfAndHalf: {\n    xs: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 233,\n        width: 299,\n      },\n    },\n    sm: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 532,\n        width: 684,\n      },\n    },\n    md: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 610,\n        width: 784,\n      },\n    },\n  },\n  fullWidth: {\n    xs: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 205,\n        width: 320,\n      },\n    },\n    sm: {\n      aspectRatio: '18x5',\n      sizes: {\n        height: 350,\n        width: 768,\n      },\n    },\n    md: {\n      aspectRatio: '18x5',\n      sizes: {\n        height: 565,\n        width: 1920,\n      },\n    },\n  },\n  imageHeadliner: {\n    xs: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 50,\n        width: 75,\n      },\n    },\n    sm: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 65,\n        width: 98,\n      },\n    },\n    md: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 65,\n        width: 98,\n      },\n    },\n  },\n  threeSixNineExpansionPanel: {\n    xs: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 148,\n        width: 227,\n      },\n    },\n    sm: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 242,\n        width: 357,\n      },\n    },\n    md: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 374,\n        width: 547,\n      },\n    },\n  },\n\n  fourXGrid: {\n    xs: {\n      aspectRatio: '3x4',\n      sizes: {\n        height: 250,\n        width: 220,\n      },\n    },\n    sm: {\n      aspectRatio: '3x4',\n      sizes: {\n        height: 460,\n        width: 400,\n      },\n    },\n    md: {\n      aspectRatio: '3x4',\n      sizes: {\n        height: 460,\n        width: 400,\n      },\n    },\n  },\n  brandCarousel: {\n    xs: {\n      aspectRatio: '1x1',\n      sizes: {\n        height: 477,\n        width: 650,\n      },\n    },\n    sm: {\n      aspectRatio: '3x2',\n      sizes: {\n        height: 495,\n        width: 950,\n      },\n    },\n    md: {\n      aspectRatio: '21x9',\n      sizes: {\n        height: 505,\n        width: 1920,\n      },\n    },\n  },\n};\n","import type { CpmPageModel } from '../adapters/types';\n\nexport function getBrandCodeFromPage(page: CpmPageModel): string {\n  return page?.channel?.info?.props?.brandCode || 'WW';\n}\n","export function removeNullyFromArray<T>(xs: Array<T | null | undefined>): Array<T> {\n  return xs.filter((x: T | null | undefined): x is T => !!x);\n}\n","import type {\n  AssetVariantNames,\n  BrPage,\n  ImagePointer,\n  OscDomLink,\n  AddCampaignCodeToUrl,\n  ExperimentationConfiguration,\n} from '../adapters/types';\nimport type {\n  CmsDataTypesIntersection,\n  MappedComponent,\n  CmsUnknownComponentParams,\n} from '../schema';\nimport { getAssetImage, getFromPageByRef, getImageCompound } from '../adapters/getters';\nimport { objectMapWithKey } from '../helpers';\nimport { transformLink } from './transform-links';\nimport { compoundImageBreakpointSizes } from './compound-image-breakpoint-sizes';\nimport { getBrandCodeFromPage } from '../mappingEngine/getBrandCodeFromPage';\nimport { removeNullyFromArray } from '../utils/remove-nully-from-array';\nimport type { ForceAppliedType, GuardedType } from '../typeHelpers';\nimport type { UniversalComponentParams } from '../mappingEngine/types';\nimport type { isCmsAspectRatio } from '../mappingEngine/validators';\nimport { convertCmsAspectRatioToCpmAspectRatio } from '../mappingEngine/validators';\n\nexport function refAsDefaultIdEnhancer(data: CmsDataTypesIntersection): CmsDataTypesIntersection & {\n  id: string;\n  _id: null;\n} {\n  // Use ref as a fallback if item.id is undefined\n  let ref = '';\n\n  if (typeof data.ref === 'string') {\n    ref = data.ref;\n  } else if (typeof data.ref?.$ref === 'string') {\n    ref = data.ref.$ref;\n  }\n\n  // replace any \"/\" with a \"-\" because the ref is used in the html id attribute\n  ref = ref.replace(/\\//g, '-');\n\n  return {\n    ...data,\n\n    id: data.id || ref,\n    _id: null,\n  };\n}\n\nexport function renameBrandcodeEnhancer(data: CmsDataTypesIntersection): Omit<\n  CmsDataTypesIntersection,\n  'brandCode'\n> & {\n  documentBrandCode?: string;\n} {\n  // Rename the brandCode key and delete it to avoid overwriting the channel brand code\n  // on components.\n  // Components that need the brand code associated with the document can use the\n  // `documentBrandCode` key instead.\n\n  const { brandCode, ...rest } = data;\n  if (brandCode) {\n    return {\n      ...rest,\n      documentBrandCode: brandCode,\n    };\n  } else {\n    return rest;\n  }\n}\n\nexport function transformLinksEnhancer(\n  data: CmsDataTypesIntersection,\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n): Omit<CmsDataTypesIntersection, 'links' | 'link'> & {\n  links: OscDomLink[];\n  link: OscDomLink | null;\n} {\n  if ('links' in data) {\n    return {\n      ...data,\n      links: removeNullyFromArray(\n        data.links?.map((link) => transformLink(link, addCampaignCodeToUrl)) ?? []\n      ),\n      link: transformLink(data.links?.[0] ?? null, addCampaignCodeToUrl),\n    };\n  }\n\n  // Award doc types incorrectly have a link property instead of the standard links array\n  if (!('links' in data) && 'link' in data) {\n    const singleLink = transformLink(data.link ?? null, addCampaignCodeToUrl);\n\n    return {\n      ...data,\n      links: removeNullyFromArray(singleLink ? [singleLink] : []),\n      link: singleLink,\n    };\n  }\n\n  // remapping link to links as OscDomLinks\n  if (data?.subTopic) {\n    data.subTopic = data.subTopic.map((subTopic) => ({\n      ...subTopic,\n      faq: subTopic.faq?.map((faqItem) => ({\n        ...faqItem,\n        links: faqItem.link\n          ? removeNullyFromArray(\n              faqItem.link.map((link) => transformLink(link, addCampaignCodeToUrl))\n            )\n          : [],\n        link: undefined,\n      })),\n    }));\n  }\n\n  return {\n    ...data,\n    links: [],\n    link: null,\n  };\n}\n\nexport function addDefaultCmsComponentFieldsEnhancer(\n  data: CmsDataTypesIntersection\n): CmsDataTypesIntersection & {\n  headline: string;\n  shortDescription: string;\n  caption: string;\n  label: string;\n  segmentIds: string[];\n} {\n  return {\n    ...data,\n    caption: '',\n    headline: 'headline' in data ? data.headline ?? '' : '',\n    label: 'name' in data ? data.name ?? '' : '',\n    segmentIds: data.segmentIds ?? [],\n    shortDescription: 'shortDescription' in data ? data.shortDescription ?? '' : '',\n  };\n}\n\nexport type ImageAsset = {\n  id: string;\n  url: string;\n};\n\nexport type StructuredAsset = {\n  id: string;\n  brandCodes: string[];\n  altText: string;\n  caption: string;\n  captionLink: string;\n  campaignId?: string;\n  aspectRatios: Partial<Record<AssetVariantNames, ImageAsset>>;\n};\n\nfunction generateStructuredAssetFromBloomreachAsset(\n  imagePointer: ImagePointer,\n  page: BrPage,\n  componentSchema: MappedComponent\n): StructuredAsset | null {\n  const { brandCodes = [] } = imagePointer;\n  const resolvedAsset = getAssetImage(\n    imagePointer,\n    page,\n    componentSchema.assets as readonly AssetVariantNames[]\n  );\n\n  if (resolvedAsset === null) {\n    return null;\n  }\n\n  const { variants, ...bloomreachAsset } = resolvedAsset;\n\n  const aspectRatios = objectMapWithKey(variants, (aspectRatio, assetAtRatio) => {\n    const url = new URL(assetAtRatio.cdnLink);\n\n    const [aspectWidth, aspectHeight] = aspectRatio.split('x').map(Number);\n    if (!(aspectWidth && aspectHeight)) {\n      throw new Error(`invalid aspect ratio: \"${aspectRatio}\"`);\n    }\n    const aspectRatioAsFloat = aspectWidth / aspectHeight;\n\n    const largestPossibleDimension = componentSchema.namedImages\n      .flatMap((namedImage) => {\n        const namedImageBreakpointSizes = compoundImageBreakpointSizes[namedImage];\n        if (!namedImageBreakpointSizes) {\n          return [];\n        }\n        return Object.values(namedImageBreakpointSizes);\n      })\n      .filter(\n        (compoundImageBreakpointSize) => compoundImageBreakpointSize.aspectRatio === aspectRatio\n      )\n      .map(({ sizes }) => sizes)\n      .reduce((acc, val) => Math.max(acc, val.height, val.width), 0);\n\n    const isLandscape = aspectRatioAsFloat > 1.0;\n\n    const height = isLandscape\n      ? largestPossibleDimension / aspectRatioAsFloat\n      : largestPossibleDimension;\n    const width = isLandscape\n      ? largestPossibleDimension\n      : largestPossibleDimension * aspectRatioAsFloat;\n\n    if (!(url.searchParams.has('rw') && url.searchParams.has('rh'))) {\n      url.searchParams.set('rw', Math.ceil(width) + '');\n      url.searchParams.set('rh', Math.ceil(height) + '');\n    }\n\n    return {\n      id: assetAtRatio.id,\n      url: url.toString(),\n    };\n  });\n\n  // Image compound alt text field should override alt text defined on the image\n  if (imagePointer.altText) {\n    bloomreachAsset.altText = imagePointer.altText;\n  }\n\n  return {\n    ...bloomreachAsset,\n    campaignId: bloomreachAsset.campaignId ?? undefined,\n    aspectRatios,\n    brandCodes,\n  };\n}\n\n/**\n Old Style images can have many possible \"variants\", each of which contain separate metadata\n instances (eg: id, caption) and URLs pointing to images of different aspect ratios.\n\n We traverse along every variant we find, selecting the metadata instances and keeping only a single copy for each prop\n We also keep only a single image URL for each aspect ratio.\n */\nfunction generateStructuredAssetFromOldStyleImage(\n  imagePointer: ImagePointer,\n  page: BrPage,\n  componentSchema: MappedComponent\n): StructuredAsset | null {\n  const { brandCodes = [] } = imagePointer;\n\n  const oldStyleImages = componentSchema.namedImages.map((imageName) => ({\n    imageName,\n    imageCompound: getImageCompound(imagePointer, imageName, page),\n  }));\n\n  if (oldStyleImages.length === 0) {\n    return null;\n  }\n\n  let id = '';\n  let caption = '';\n  let captionLink = '';\n  let altText = '';\n  const aspectRatios: Partial<Record<AssetVariantNames, ImageAsset>> = {};\n\n  for (const { imageName, imageCompound } of oldStyleImages) {\n    if (imageCompound === null) {\n      continue;\n    }\n\n    id ||= imageCompound._id;\n    caption ||= imageCompound.caption;\n    captionLink ||= imageCompound.captionLink;\n    altText ||= imageCompound.image.altText;\n\n    for (const size of ['xs', 'sm', 'md'] as const) {\n      const variant = imageCompound.image?.variants.find((variant) => variant.size === size);\n\n      if (variant) {\n        const { url, _id } = variant;\n        const { aspectRatio } = compoundImageBreakpointSizes[imageName]?.[size] ?? {};\n\n        if (aspectRatio) {\n          aspectRatios[aspectRatio] = { url, id: _id };\n        }\n      }\n    }\n  }\n\n  // Image compound alt text field should override alt text defined on the image\n  if (imagePointer.altText) {\n    altText = imagePointer.altText;\n  }\n\n  return {\n    id,\n    caption,\n    captionLink,\n    altText,\n    aspectRatios,\n    brandCodes,\n  };\n}\n\nexport function makeAddAssetsEnhancer(\n  componentSchema: MappedComponent,\n  page: BrPage,\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n) {\n  return function addAssetsEnhancer(data: CmsDataTypesIntersection) {\n    // Bail out because image data doesn't exist or component has no aspect ratio images (assets) defined\n    if (\n      (!('images' in data) && !('defaultPropertyImages' in data)) ||\n      !componentSchema.assets.length\n    ) {\n      const cpmAssets: StructuredAsset[] = [];\n      return { ...data, cpmAssets };\n    }\n\n    const cpmAssets: StructuredAsset[] = [];\n\n    /**\n     `data.images` contains an array of references to Bloomreach Image documents\n     Each of these Image documents can contain both \"images\" and \"assets\".\n\n     Certain document types (eg: brands) use data.defaultPropertyImages instead of data.images.\n\n     \"images\" are the old way of specifying images, they contain various \"variants\"\n     that specify What They're Used For (eg: \"collage\", \"fourXExpansionPanel\").\n\n     \"assets\" are the new way of specifying image, they contain various \"aspect ratios\"\n     that specify the cropping of an image asset (eg: \"1x1\", \"3x2\").\n\n     We prefer to use \"assets\", but will fall back to using \"images\". In both cases we do\n     some pre-processing to ensure the data is the same shape and required no further logic to use.\n\n     A document can contain multiple images, which will be used in difference places in the UI.\n     Eg: Collage can contain several different images per component\n     */\n    for (const imageRef of data?.images ?? data?.defaultPropertyImages ?? []) {\n      const structuredAsset =\n        generateStructuredAssetFromBloomreachAsset(imageRef, page, componentSchema) ??\n        generateStructuredAssetFromOldStyleImage(imageRef, page, componentSchema);\n\n      if (structuredAsset) {\n        if (structuredAsset.captionLink && structuredAsset.campaignId) {\n          structuredAsset.captionLink = addCampaignCodeToUrl(\n            structuredAsset.captionLink,\n            structuredAsset.campaignId\n          );\n        }\n\n        cpmAssets.push(structuredAsset);\n      }\n    }\n\n    // if one of the images has a brandCode assigned that matches the current page brandCode\n    // it should come first\n    const pageBrandCode = getBrandCodeFromPage(page.toJSON());\n    cpmAssets.sort((l, r) => {\n      const lMatchesBrandCode = l.brandCodes.includes(pageBrandCode) ? 1 : 0;\n      const rMatchesBrandCode = r.brandCodes.includes(pageBrandCode) ? 1 : 0;\n      return rMatchesBrandCode - lMatchesBrandCode;\n    });\n\n    return {\n      ...data,\n      cpmAssets,\n    };\n  };\n}\n\ntype DocumentMeta = {\n  $ref: string;\n  cbId: string;\n};\n\nexport type RelatedDocument = {\n  _meta: DocumentMeta;\n  headline?: string;\n  shortDescription?: string;\n  longDescription?: string;\n  link: OscDomLink | null;\n  links: OscDomLink[];\n  cpmAssets: StructuredAsset[];\n  segmentIds: string[];\n  experimentationConfiguration?: ExperimentationConfiguration;\n};\n\nexport function addRelatedDocsEnhancer(\n  data: CmsDataTypesIntersection,\n  page: BrPage,\n  addAssetsEnhancer: ReturnType<typeof makeAddAssetsEnhancer>,\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n): CmsDataTypesIntersection & {\n  cpmRelatedDocuments: (RelatedDocument | undefined)[];\n} {\n  const cpmRelatedDocuments: RelatedDocument[] = [];\n\n  if (!data.relatedDocumentsRef || !Array.isArray(data.relatedDocumentsRef)) {\n    return { ...data, cpmRelatedDocuments };\n  }\n\n  if (!data.relatedDocuments || !Array.isArray(data.relatedDocuments)) {\n    return { ...data, cpmRelatedDocuments };\n  }\n\n  // First collate the refs and couchbase ids together\n  const documentMetas = removeNullyFromArray(\n    data.relatedDocumentsRef.map((item, index) => {\n      if (!item.$ref || !data?.relatedDocuments?.[index]) {\n        return null;\n      }\n\n      const cbId = data.relatedDocuments[index];\n\n      if (!cbId) {\n        return null;\n      }\n\n      const meta: DocumentMeta = {\n        $ref: item.$ref,\n        cbId,\n      };\n\n      return meta;\n    })\n  );\n\n  // Now we can hydrate each document\n  documentMetas.forEach((_meta) => {\n    const document = getFromPageByRef<CmsDataTypesIntersection>(_meta.$ref, page);\n\n    if (!document) {\n      return;\n    }\n\n    const { cpmAssets } = addAssetsEnhancer(document);\n    const { link, links } = transformLinksEnhancer(document, addCampaignCodeToUrl);\n\n    const enhancedDoc: RelatedDocument = {\n      _meta,\n      headline: document.headline ?? undefined,\n      shortDescription: document.shortDescription ?? undefined,\n      longDescription: document.longDescription ?? undefined,\n      segmentIds: document.segmentIds ?? [],\n      experimentationConfiguration: document.experimentationConfiguration,\n      links,\n      link,\n      cpmAssets,\n    };\n\n    cpmRelatedDocuments.push(enhancedDoc);\n  });\n\n  return { ...data, cpmRelatedDocuments };\n}\n\nexport function translationCssClassesEnhancer(\n  data: CmsDataTypesIntersection,\n  componentParams?: CmsUnknownComponentParams,\n  documentNumber?: number\n): CmsDataTypesIntersection & {\n  cmsTranslationClasses?: string;\n} {\n  if (!componentParams || !documentNumber) {\n    return data;\n  }\n\n  const itemExcludedFromTranslation = componentParams[`oneLinkNoTx${documentNumber}`] === true;\n\n  if (!itemExcludedFromTranslation) {\n    return data;\n  }\n\n  return {\n    ...data,\n    cmsTranslationClasses: 'OneLinkNoTx',\n  };\n}\n\ntype BreakpointAspectRatioImages = {\n  mobile?: ImageAsset;\n  tablet?: ImageAsset;\n  desktop?: ImageAsset;\n};\n\nexport function addAspectRatioImages(\n  data: CmsDataTypesIntersection & { cpmAssets?: StructuredAsset[] },\n  componentParams: UniversalComponentParams & {\n    aspectRatioMobile?: GuardedType<typeof isCmsAspectRatio>;\n    aspectRatioTablet?: GuardedType<typeof isCmsAspectRatio>;\n    aspectRatioDesktop?: GuardedType<typeof isCmsAspectRatio>;\n  } = {}\n) {\n  const hasAspectRatiosDefined =\n    typeof componentParams.aspectRatioDesktop !== 'undefined' ||\n    typeof componentParams.aspectRatioTablet !== 'undefined' ||\n    typeof componentParams.aspectRatioMobile !== 'undefined';\n\n  if (!hasAspectRatiosDefined || !Array.isArray(data.cpmAssets) || !data.cpmAssets.length) {\n    return {\n      ...data,\n      cmsDefinedAspectRatioImages: [],\n    };\n  }\n\n  const cmsDefinedAspectRatioImages = data.cpmAssets.map(({ aspectRatios }) => {\n    const breakpoints: BreakpointAspectRatioImages = {};\n\n    if (componentParams.aspectRatioMobile) {\n      const convertedAspectRatioMobile = convertCmsAspectRatioToCpmAspectRatio(\n        componentParams.aspectRatioMobile\n      );\n      breakpoints.mobile = convertedAspectRatioMobile && aspectRatios[convertedAspectRatioMobile];\n    }\n\n    if (componentParams.aspectRatioTablet) {\n      const convertedAspectRatioTablet = convertCmsAspectRatioToCpmAspectRatio(\n        componentParams.aspectRatioTablet\n      );\n      breakpoints.tablet = convertedAspectRatioTablet && aspectRatios[convertedAspectRatioTablet];\n    }\n\n    if (componentParams.aspectRatioDesktop) {\n      const convertedAspectRatioDesktop = convertCmsAspectRatioToCpmAspectRatio(\n        componentParams.aspectRatioDesktop\n      );\n      breakpoints.desktop =\n        convertedAspectRatioDesktop && aspectRatios[convertedAspectRatioDesktop];\n    }\n\n    return breakpoints;\n  });\n\n  return {\n    ...data,\n    cmsDefinedAspectRatioImages,\n  };\n}\n\nexport type EnhancedCmsComponentDocument = ForceAppliedType<\n  Omit<CmsDataTypesIntersection, 'links' | 'link' | 'brandCode'> & {\n    id: string;\n    _id: null;\n    headline: string;\n    shortDescription: string;\n    caption: string;\n    label: string;\n    segmentIds: string[];\n    cmsTranslationClasses?: string;\n    cpmRelatedDocuments: (RelatedDocument | undefined)[];\n    cpmAssets: (StructuredAsset | undefined)[];\n    links: OscDomLink[];\n    link: OscDomLink | null;\n    cmsDefinedAspectRatioImages: BreakpointAspectRatioImages[];\n  }\n>;\n\nexport function addCampaignCodesToCaptionLinks(\n  data: CmsDataTypesIntersection,\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n) {\n  if (Array.isArray(data.videos)) {\n    data.videos = data.videos.map((video) => {\n      if (video.captionLink && video.campaignId) {\n        video.captionLink = addCampaignCodeToUrl(video.captionLink, video.campaignId);\n      }\n\n      return video;\n    });\n  }\n\n  if (Array.isArray(data.multimedia)) {\n    data.multimedia = data.multimedia.map((media) => {\n      if (media.captionLink?.linkUrl && media.captionLink.campaignId) {\n        media.captionLink.linkUrl = addCampaignCodeToUrl(\n          media.captionLink.linkUrl,\n          media.captionLink.campaignId\n        );\n      }\n\n      return media;\n    });\n  }\n\n  return data;\n}\n\n/**\n * Chains together the above enhancer functions, you must remember to update the above type if you change this enhancer composition\n */\nexport function makeCmsComponentDocumentEnhancer(\n  componentSchema: MappedComponent,\n  page: BrPage,\n  addCampaignCodeToUrl: AddCampaignCodeToUrl\n) {\n  const addAssetsEnhancer = makeAddAssetsEnhancer(componentSchema, page, addCampaignCodeToUrl);\n\n  return (\n    data: CmsDataTypesIntersection,\n    componentParams?: UniversalComponentParams,\n    documentNumber?: number\n  ): EnhancedCmsComponentDocument => {\n    const step0 = addCampaignCodesToCaptionLinks(data, addCampaignCodeToUrl);\n    const step1 = refAsDefaultIdEnhancer(step0);\n    const step2 = addDefaultCmsComponentFieldsEnhancer(step1);\n    const step3 = addAssetsEnhancer(step2);\n    const step4 = addAspectRatioImages(step3, componentParams);\n    const step5 = addRelatedDocsEnhancer(step4, page, addAssetsEnhancer, addCampaignCodeToUrl);\n    const step6 = translationCssClassesEnhancer(step5, componentParams, documentNumber);\n    const step7 = renameBrandcodeEnhancer(step6);\n    const step8 = transformLinksEnhancer(step7, addCampaignCodeToUrl);\n\n    return step8 as EnhancedCmsComponentDocument;\n  };\n}\n","import type { CpmMappedPage } from '../mappingEngine/cpmMappedPage';\nimport type { ExtractCampaignCodeTaggingValuesFn, AddCampaignCodeToUrl } from '../adapters/types';\n\nexport function createAddCampaignCodeToUrl(\n  // Name of the component that this link appears in\n  componentName: string,\n  // Mapped page data from CPM\n  mappedPage: CpmMappedPage,\n  // Analytics values provided by the CMS will be used by default. Apps can override this by passing a custom function.\n  extractCampaignCodeTaggingValues: ExtractCampaignCodeTaggingValuesFn\n): AddCampaignCodeToUrl {\n  return function addCampaignCodeToUrl(linkUrl?: string, campaignId?: string | null) {\n    try {\n      // Bail out if a URL or campaign code ID hasn't been passed\n      if (!linkUrl || !campaignId) {\n        return linkUrl || '';\n      }\n\n      const url = new URL(linkUrl);\n      checkValidQueryString(url);\n\n      const params = url.searchParams;\n\n      if (params.has('cid')) {\n        return linkUrl;\n      }\n\n      const { brandCode } = mappedPage;\n      const { adobePageType, cidPostfix } = extractCampaignCodeTaggingValues(mappedPage);\n      const campaignCodeSegments = [\n        'OH',\n        brandCode,\n        campaignId,\n        'MULTIPR',\n        componentName,\n        adobePageType,\n      ];\n\n      if (cidPostfix) {\n        campaignCodeSegments.push(cidPostfix);\n      }\n\n      const cid = campaignCodeSegments.join(',');\n      params.set('cid', cid);\n\n      // We need to keep the CID param human-readable for content/analytics\n      // teams\n      const [href, search] = url.href.split('?');\n      if (!(href && search)) {\n        throw new Error('missing query string');\n      }\n\n      return `${href}?${buildSearchStringForAnalyticsCampaignId(search)}`;\n    } catch {\n      return linkUrl || '';\n    }\n  };\n}\n\n/**\n * Use the analytics values set by the CMS. Consumers are able to override this by passing in their own function.\n */\nexport function getTaggingValuesFromCpmAnalytics(mappedPage: CpmMappedPage) {\n  const postfix: string[] = [];\n  const { analyticsTagging } = mappedPage;\n\n  if (analyticsTagging.primaryCategory) {\n    postfix.push(capitalizeHyphen(analyticsTagging.primaryCategory));\n  }\n\n  if (analyticsTagging.pageDetailOne) {\n    // Campaign code postfix only includes two \"page detail\" levels.\n    postfix.push(capitalizeHyphen(analyticsTagging.pageDetailOne));\n\n    // We only want to include the second page detail if the first exists\n    if (analyticsTagging.pageDetailTwo) {\n      postfix.push(capitalizeHyphen(analyticsTagging.pageDetailTwo));\n    }\n  }\n\n  return {\n    adobePageType: analyticsTagging.adobePageType,\n    cidPostfix: postfix.join('-'),\n  };\n}\n\nfunction capitalizeHyphen(input?: string) {\n  if (!input) {\n    return '';\n  }\n\n  return input.replace(/(^|[\\s-])\\S/g, (match) => match.toUpperCase());\n}\n\n/**\n * Builds a search string that leaves the `cid` param decoded to aid readability\n * Note: search is a string instead of a URLSearchParams because we don't want\n * to modify the encoding of any other parameter.\n */\nexport function buildSearchStringForAnalyticsCampaignId(search: string) {\n  return search\n    .split('&')\n    .map((keyValue) => {\n      const [key, value] = keyValue.split('=');\n\n      if (key === 'cid' && value) {\n        return `cid=${decodeURIComponent(value)}`;\n      }\n\n      return keyValue;\n    })\n    .join('&');\n}\n\n/**\n * Check if the URL has a valid query string with a single ?\n * replace subsequent ? with &\n */\nexport function checkValidQueryString(url: URL) {\n  const questionMarkCount = (url.href.match(/\\?/g) || []).length;\n  if (questionMarkCount > 1) {\n    const [baseUrl, queryString] = url.href.split(/\\?(.+)/);\n    if (baseUrl && queryString) {\n      const fixedQueryString = queryString.replace(/\\?/g, '&');\n      url.href = `${baseUrl}?${fixedQueryString}`;\n    }\n  }\n}\n","import type { ExperimentationAgentIdsSet } from '../mappingEngine/types';\n\nexport function registerExperimentItem(\n  set: ExperimentationAgentIdsSet,\n  isCpmEditor: boolean,\n  config?: { agentId?: string | null; variation?: string | null } | null\n) {\n  if (!config?.agentId || !config?.variation) {\n    return;\n  }\n\n  if (isCpmEditor) {\n    set.add(`${config.agentId}:${config.variation}`);\n  } else {\n    set.add(config.agentId);\n  }\n}\n","import type { Document } from '@bloomreach/spa-sdk';\nimport type {\n  BrandNavigationListData,\n  BrComponent,\n  BrPage,\n  CmsDomLink,\n  ExtractCampaignCodeTaggingValuesFn,\n  ListData,\n  Models,\n  NavigationListData,\n} from '../adapters/types';\nimport type {\n  CpmListData,\n  ExperimentationAgentIdsSet,\n  CpmMandatoryMappingOutputFields,\n  OutputWithMandatories,\n  CpmMappingFunction,\n  CpmMappingFunctionInput,\n} from './types';\nimport type { CmsDataTypesIntersection, MappedComponent, MappedComponentName } from '../schema';\nimport { mappingSchema } from '../schema';\nimport type { useIssues } from '../hooks/use-issues';\nimport {\n  getDocumentKeyNumbersMap,\n  getDocumentOfTypeFromPageAndComponent,\n  getFromPageByRef,\n  modelsToRefs,\n} from '../adapters/getters';\nimport { makeCmsComponentDocumentEnhancer } from '../transformers/enhancers';\nimport type { CpmMappedPage } from './cpmMappedPage';\nimport { parseComponentParams } from './parseComponentParams';\nimport { createAddCampaignCodeToUrl } from '../utils/add-campaign-id-to-url';\nimport { removeNullyFromArray } from '../utils/remove-nully-from-array';\nimport { registerExperimentItem } from '../utils/register-experiment-item';\nimport { transformLink, translateNavigationListLinks } from '../transformers/transform-links';\nimport type {\n  CpmMappedComponentDataRelaxed,\n  CpmMappingFunctionInputRelaxed,\n  CpmMappingFunctionRelaxed,\n} from './typesRelaxed';\n\nfunction handleError<T>(\n  fallback: T,\n  fn: () => T,\n  isCPMEditor: boolean,\n  errorAccumulator?: Array<Error>\n): T {\n  const isLiveMode = !isCPMEditor;\n\n  try {\n    return fn();\n  } catch (err) {\n    if (isLiveMode) {\n      return fallback;\n    } else {\n      if (errorAccumulator && err instanceof Error) {\n        errorAccumulator.push(err);\n        return fallback;\n      } else {\n        throw err;\n      }\n    }\n  }\n}\n\nfunction getItemsRefs(listData: ListData | null, componentBr: BrComponent) {\n  const models = componentBr.getModels<Models>();\n  const directRefs = modelsToRefs(models);\n  const { itemsRef } = listData ?? { itemsRef: directRefs };\n\n  return removeNullyFromArray(itemsRef);\n}\n\nfunction isItemUntranslated(item: unknown) {\n  return (\n    item &&\n    typeof item === 'object' &&\n    'cmsTranslationClasses' in item &&\n    typeof item.cmsTranslationClasses === 'string'\n  );\n}\n\nexport function applyMapData<\n  Component extends MappedComponentName,\n  Output extends CpmMandatoryMappingOutputFields\n>(\n  mapData: CpmMappingFunction<Component, Output>,\n  input: CpmMappingFunctionInput<Component>\n): OutputWithMandatories<Output> {\n  const mappedData = mapData(input);\n\n  return {\n    ...mappedData,\n    cmsTranslationClasses: input.data.cmsTranslationClasses,\n    $ref: input.data.ref?.$ref ?? '',\n    segmentIds: input.data.segmentIds,\n    experimentationConfiguration: input.data.experimentationConfiguration,\n  };\n}\n\n// CpmMandatoryMappingOutputFields\nexport function mapCpmData(\n  component: MappedComponentName,\n  mapData: CpmMappingFunctionRelaxed,\n  pageBr: BrPage,\n  componentBr: BrComponent,\n  mappedPage: CpmMappedPage,\n  { add: addIssue, clear: clearIssue }: ReturnType<typeof useIssues>,\n  extractCampaignCodeTaggingValues: ExtractCampaignCodeTaggingValuesFn,\n  isCPMEditor = false\n): CpmMappedComponentDataRelaxed {\n  const pageType: string = pageBr.getDocument<Document>()?.getData().type;\n  const componentName: string = componentBr.getName() ?? '';\n\n  const componentSchema: MappedComponent = mappingSchema[component];\n  const componentParams = parseComponentParams(\n    componentSchema,\n    componentBr.getParameters<Partial<Record<string, string | boolean>>>()\n  );\n\n  const addCampaignCodeToUrl = createAddCampaignCodeToUrl(\n    componentName,\n    mappedPage,\n    extractCampaignCodeTaggingValues\n  );\n  const enhanceData = makeCmsComponentDocumentEnhancer(\n    componentSchema,\n    pageBr,\n    addCampaignCodeToUrl\n  );\n\n  const experimentationAgentIds: ExperimentationAgentIdsSet = new Set();\n\n  registerExperimentItem(experimentationAgentIds, isCPMEditor, componentParams);\n\n  switch (componentSchema.mappingKind) {\n    case 'Unmapped': {\n      return {\n        componentParams,\n        pageType,\n        componentName,\n        mappedPage,\n        isCPMEditor,\n        experimentationAgentIds,\n        mappingKind: componentSchema.mappingKind,\n        maintainUnsegmentedCount: false,\n      } as unknown as CpmMappedComponentDataRelaxed;\n    }\n\n    case 'NavigationListDocument': {\n      const cmsData =\n        getDocumentOfTypeFromPageAndComponent<NavigationListData | BrandNavigationListData>(\n          ['NavigationList', 'BrandNavigationList'],\n          componentBr,\n          pageBr\n        )?.[0] ?? null;\n\n      return handleError<CpmMappedComponentDataRelaxed>(\n        {\n          componentParams,\n          pageType,\n          componentName,\n          navigationList: null,\n          mappedPage,\n          isCPMEditor,\n        } as unknown as CpmMappedComponentDataRelaxed,\n        () => {\n          if (cmsData === null || !cmsData.items) {\n            throw new Error('can not useCpmData when useData is null');\n          }\n\n          const cmsDocumentType = cmsData.contentType.replace('dxcms:', '');\n\n          if (!(componentSchema.cmsDocumentTypes as readonly string[]).includes(cmsDocumentType)) {\n            throw new Error(`${componentName} can not render \"${cmsDocumentType}\" documents`);\n          }\n\n          const { items } = translateNavigationListLinks(cmsData.items, addCampaignCodeToUrl);\n\n          items?.forEach((item) => {\n            if ('primaryNav' in item) {\n              registerExperimentItem(\n                experimentationAgentIds,\n                isCPMEditor,\n                item.primaryNav.experimentationConfiguration\n              );\n\n              item.secondaryNavItems.forEach((item) => {\n                registerExperimentItem(\n                  experimentationAgentIds,\n                  isCPMEditor,\n                  item.experimentationConfiguration\n                );\n              });\n            }\n\n            if ('links' in item) {\n              item.links.forEach((link) => {\n                registerExperimentItem(\n                  experimentationAgentIds,\n                  isCPMEditor,\n                  link.experimentationConfiguration\n                );\n              });\n            }\n          });\n\n          const navigationList = applyMapData(mapData, {\n            data: {\n              ...cmsData,\n              items,\n            },\n            mappedPage,\n            componentParams,\n            pageType,\n            componentName,\n            addIssue,\n            clearIssue,\n            pageBr,\n            componentBr,\n            cmsDocumentType,\n            isCPMEditor,\n            addCampaignCodeToUrl,\n          } as CpmMappingFunctionInputRelaxed);\n\n          registerExperimentItem(\n            experimentationAgentIds,\n            isCPMEditor,\n            navigationList.experimentationConfiguration\n          );\n\n          return {\n            componentParams,\n            pageType,\n            componentName,\n            navigationList,\n            mappedPage,\n            experimentationAgentIds,\n            mappingKind: componentSchema.mappingKind,\n            maintainUnsegmentedCount: componentSchema.maintainUnsegmentedCount,\n          } as unknown as CpmMappedComponentDataRelaxed;\n        },\n        isCPMEditor\n      );\n    }\n\n    case 'ListDocument': {\n      const listData =\n        getDocumentOfTypeFromPageAndComponent<ListData>(\n          ['ListDocument'],\n          componentBr,\n          pageBr\n        )?.[0] ?? null;\n\n      let cpmListData: CpmListData | null = null;\n\n      if (listData) {\n        const links = removeNullyFromArray(\n          listData.links.map((link: CmsDomLink) => transformLink(link, addCampaignCodeToUrl))\n        );\n\n        links.forEach((link) => {\n          registerExperimentItem(\n            experimentationAgentIds,\n            isCPMEditor,\n            link.experimentationConfiguration\n          );\n        });\n\n        cpmListData = {\n          ...listData,\n          links,\n        };\n      }\n\n      return handleError<CpmMappedComponentDataRelaxed>(\n        {\n          componentParams,\n          pageType,\n          componentName,\n          listData,\n          mappedPage,\n          isCPMEditor,\n        } as unknown as CpmMappedComponentDataRelaxed,\n        () => {\n          //We want to be able to run multiple mappings, and get the errors for each of them.\n          //rather than just throwing on the first error that occurs\n          const errorAccumulator: Array<Error> = [];\n          const itemRefs = getItemsRefs(listData, componentBr);\n\n          // Get document numbers for inline list docs, so we can exclude them from translation\n          const documentNumbers = getDocumentKeyNumbersMap(componentBr.getModels());\n\n          const keyedItems = itemRefs\n            .map((ref) => getFromPageByRef<CmsDataTypesIntersection>(ref, pageBr))\n            .filter((x: CmsDataTypesIntersection | null): x is CmsDataTypesIntersection => !!x)\n            .map((item, index, { length }): CpmMandatoryMappingOutputFields | null =>\n              handleError<CpmMandatoryMappingOutputFields | null>(\n                null,\n                (): CpmMandatoryMappingOutputFields => {\n                  const cmsDocumentType = item.contentType.replace('dxcms:', '');\n\n                  if (\n                    !(componentSchema.cmsDocumentTypes as readonly string[]).includes(\n                      cmsDocumentType\n                    )\n                  ) {\n                    throw new Error(\n                      `${componentName} can not render \"${cmsDocumentType}\" documents`\n                    );\n                  }\n\n                  const documentNumber = documentNumbers.get(item.ref.$ref);\n                  const data = enhanceData(item, componentParams, documentNumber);\n\n                  data.links?.forEach((link) => {\n                    registerExperimentItem(\n                      experimentationAgentIds,\n                      isCPMEditor,\n                      link.experimentationConfiguration\n                    );\n                  });\n\n                  const mappedListData = applyMapData(mapData, {\n                    data,\n                    mappedPage,\n                    componentParams,\n                    pageType,\n                    componentName,\n                    listData: cpmListData,\n                    addIssue,\n                    clearIssue,\n                    pageBr,\n                    componentBr,\n                    index,\n                    length,\n                    cmsDocumentType,\n                    isCPMEditor,\n                    addCampaignCodeToUrl,\n                    //eslint-disable-next-line @typescript-eslint/no-explicit-any\n                  } as any as CpmMappingFunctionInputRelaxed);\n\n                  registerExperimentItem(\n                    experimentationAgentIds,\n                    isCPMEditor,\n                    mappedListData.experimentationConfiguration\n                  );\n\n                  return mappedListData;\n                },\n                isCPMEditor,\n                errorAccumulator\n              )\n            )\n            .filter(\n              (x: CpmMandatoryMappingOutputFields | null): x is CpmMandatoryMappingOutputFields =>\n                !!x\n            )\n            .reduce((keyItems, item, index, items) => {\n              const isUntranslated = isItemUntranslated(item);\n\n              const key = [\n                'cpm-child-',\n                index.toString().padStart(Math.ceil(Math.log10(items.length)) + 1, '0'),\n                isUntranslated ? '-noTx' : '',\n              ].join('');\n\n              keyItems[key] = item;\n\n              return keyItems;\n            }, {} as Record<string, CpmMandatoryMappingOutputFields>);\n\n          if (errorAccumulator.length) {\n            // eslint-disable-next-line @typescript-eslint/only-throw-error\n            throw errorAccumulator;\n          }\n\n          return {\n            componentParams,\n            pageType,\n            componentName,\n            listData: cpmListData,\n            keyedItems,\n            mappedPage,\n            experimentationAgentIds,\n            mappingKind: componentSchema.mappingKind,\n            maintainUnsegmentedCount: componentSchema.maintainUnsegmentedCount,\n          } as unknown as CpmMappedComponentDataRelaxed;\n        },\n        isCPMEditor\n      );\n    }\n\n    case 'DataDocument': {\n      const cmsData =\n        getDocumentOfTypeFromPageAndComponent<CmsDataTypesIntersection>(\n          null,\n          componentBr,\n          pageBr\n        )?.[0] ?? null;\n\n      return handleError<CpmMappedComponentDataRelaxed>(\n        {\n          componentParams,\n          pageType,\n          componentName,\n          data: null,\n          mappedPage,\n          isCPMEditor,\n        } as unknown as CpmMappedComponentDataRelaxed,\n        () => {\n          if (cmsData === null) {\n            throw new Error('can not useCpmData when useData is null');\n          }\n\n          const cmsDocumentType = cmsData.contentType.replace('dxcms:', '');\n\n          if (!(componentSchema.cmsDocumentTypes as readonly string[]).includes(cmsDocumentType)) {\n            throw new Error(`${componentName} can not render \"${cmsDocumentType}\" documents`);\n          }\n\n          const enhancedData = enhanceData(cmsData, componentParams);\n\n          enhancedData.links?.forEach((link) => {\n            registerExperimentItem(\n              experimentationAgentIds,\n              isCPMEditor,\n              link.experimentationConfiguration\n            );\n          });\n\n          const mappedDocumentData = applyMapData(mapData, {\n            data: enhancedData,\n            mappedPage,\n            componentParams,\n            componentName,\n            addIssue,\n            clearIssue,\n            pageBr,\n            componentBr,\n            cmsDocumentType,\n            isCPMEditor,\n            addCampaignCodeToUrl,\n          } as CpmMappingFunctionInputRelaxed);\n\n          registerExperimentItem(\n            experimentationAgentIds,\n            isCPMEditor,\n            mappedDocumentData.experimentationConfiguration\n          );\n\n          return {\n            componentParams,\n            pageType,\n            componentName,\n            mappedPage,\n            experimentationAgentIds,\n            data: mappedDocumentData,\n            mappingKind: componentSchema.mappingKind,\n            maintainUnsegmentedCount: componentSchema.maintainUnsegmentedCount,\n          } as unknown as CpmMappedComponentDataRelaxed;\n        },\n        isCPMEditor\n      );\n    }\n  }\n}\n","import {\n  getDocumentOfTypeFromPageAndComponent,\n  getFromPageByRef,\n  modelsToRefs,\n} from '../adapters/getters';\nimport type { CpmPageModel, Models, BrPage, ListData, BrComponent } from '../adapters/types';\nimport { mappingSchema, getBrComponentName, isMappedComponentName } from '../schema';\nimport type { CmsDataTypesIntersection, MappedComponent } from '../schema';\nimport { makeCmsComponentDocumentEnhancer } from '../transformers/enhancers';\n\nfunction removeNullyFromArray<T>(xs: Array<T | null | undefined>): Array<T> {\n  return xs.filter((x: T | null | undefined): x is T => !!x);\n}\n\ntype $Ref = { $ref: string };\ntype NodeWithChildren = { children: $Ref[] };\ntype Page = CpmPageModel['page'];\ntype DocumentWithHeadline = {\n  data: {\n    headline: string;\n  };\n};\n\n/**\n * Get a document by a reference ID\n */\nconst getDocumentByRef = (page: Page, $ref?: string) => {\n  const ref = `${$ref}`.replace('/page/', '');\n  return page[ref];\n};\n\n/**\n * Ensure a node has an array of child reference IDs (using the `children` property)\n */\nconst isNodeWithChildren = (node: unknown): node is NodeWithChildren => {\n  return !!(\n    node &&\n    typeof node === 'object' &&\n    'children' in node &&\n    Array.isArray(node?.children) &&\n    node.children.every((child: { $ref?: string }) => typeof child.$ref === 'string')\n  );\n};\n\n/**\n * Ensure a node has headline\n */\nconst isDocumentWithHeadline = (node: unknown): node is DocumentWithHeadline => {\n  return !!(\n    node &&\n    typeof node === 'object' &&\n    'data' in node &&\n    node.data &&\n    typeof node.data === 'object' &&\n    'headline' in node.data\n  );\n};\n\n/**\n * Get the `main` content area document for the page\n */\nconst getMainDocument = (page: Page, rootDocument: unknown) => {\n  if (!isNodeWithChildren(rootDocument)) {\n    return;\n  }\n\n  const mainDocumentRef = rootDocument.children.find((child) => {\n    const childDocument = getDocumentByRef(page, child.$ref);\n\n    return childDocument && 'name' in childDocument && childDocument.name === 'main';\n  });\n\n  const mainDocument = getDocumentByRef(page, mainDocumentRef?.$ref);\n\n  if (isNodeWithChildren(mainDocument)) {\n    return mainDocument;\n  }\n};\n\nfunction getItemsRefs(listData: ListData | null, componentBr: BrComponent) {\n  const models = componentBr.getModels<Models>();\n  const directRefs = modelsToRefs(models);\n  const { itemsRef } = listData ?? { itemsRef: directRefs };\n\n  return itemsRef ? removeNullyFromArray(itemsRef) : [];\n}\n\n/**\n * Traverses through the page model to find a component that has images that can be used for the SEO meta image\n */\nexport const getPagePrimaryImage = (pageBr: BrPage): string | undefined => {\n  const validAssets = removeNullyFromArray(\n    pageBr\n      .getComponent('main')\n      ?.getChildren()\n      .filter((componentBr) => {\n        const componentName = getBrComponentName(componentBr);\n        if (!isMappedComponentName(componentName)) return false;\n\n        // these are the only components we can presume will have SEO image compatable images\n        return new Set(['Carousel', 'Full Width Image', 'Masthead Image']).has(componentName);\n      })\n      .map((componentBr) => {\n        const componentName = getBrComponentName(componentBr);\n        if (!isMappedComponentName(componentName)) return [];\n\n        const componentSchema: MappedComponent = mappingSchema[componentName];\n        const enhanceData = makeCmsComponentDocumentEnhancer(\n          componentSchema,\n          pageBr,\n          // Stubbing the analytics function is fine here because we're only looking for images\n          (linkUrl) => linkUrl || ''\n        );\n\n        // Grab all the documents attached to this component\n        const listData =\n          getDocumentOfTypeFromPageAndComponent<ListData>(\n            ['ListDocument'],\n            componentBr,\n            pageBr\n          )?.[0] ?? null;\n\n        const itemsData = getItemsRefs(listData, componentBr)\n          .map((ref) => getFromPageByRef<CmsDataTypesIntersection>(ref, pageBr))\n          .filter((x: CmsDataTypesIntersection | null): x is CmsDataTypesIntersection => !!x);\n\n        const instanceData =\n          getDocumentOfTypeFromPageAndComponent<CmsDataTypesIntersection>(\n            null,\n            componentBr,\n            pageBr\n          )?.[0] ?? null;\n\n        // run the documents through the enhancer\n        const enhancedData = [...itemsData, instanceData]\n          .filter(\n            (data: CmsDataTypesIntersection | null): data is CmsDataTypesIntersection => !!data\n          )\n          .map((data) => enhanceData(data))\n\n          // ignore any segmented documents\n          .filter((data) => data.segmentIds.length === 0)\n\n          // and extract the assets\n          .map(({ cpmAssets }) => cpmAssets);\n\n        return enhancedData;\n      })\n      .flat()\n      .flat() ?? []\n  ).map(({ aspectRatios }) => aspectRatios);\n\n  // validAssets will now contain all useful assets, in page order.\n\n  const firstAssetOfAspectRatio = validAssets.reduce(\n    (acc, val) => ({\n      ...acc,\n      ...val,\n    }),\n    {}\n  );\n\n  return firstAssetOfAspectRatio['21x9']?.url ?? firstAssetOfAspectRatio['18x5']?.url;\n};\n\n/**\n * Getting Article title from the first Masthead component on the page\n */\nexport const getArticleTitle = (pageModel: CpmPageModel) => {\n  const page = pageModel.page;\n\n  const rootDoc = getDocumentByRef(page, pageModel.root.$ref);\n\n  const mainDoc = getMainDocument(page, rootDoc);\n\n  if (!mainDoc) {\n    return '';\n  }\n\n  for (const containerDoc of mainDoc.children) {\n    const container = getDocumentByRef(page, containerDoc?.$ref);\n\n    if (container && 'name' in container && container.name === 'mastheadImage') {\n      const documentRef = container.models?.document?.$ref;\n\n      const document = getDocumentByRef(page, documentRef);\n\n      return isDocumentWithHeadline(document) ? document.data.headline : '';\n    }\n  }\n};\n","import type { Reference } from '@bloomreach/spa-sdk';\nimport type { BrPage } from '../adapters/types';\n\nexport type MaybeMarkdownContent = {\n  headline?: string;\n  subheading?: string;\n  description?: string;\n  shortDescription?: string;\n  longDescription?: string;\n  markdownEditor?: string;\n  contentBlock?: Array<{ [key: string]: string }>;\n  itemsRef?: Array<Reference>;\n};\n\nexport function hasPageGotHeadingOne(brPage: BrPage) {\n  const children = brPage.getComponent('main')?.getChildren();\n\n  if (!children) {\n    return false;\n  }\n\n  for (const child of children) {\n    const params = child.getParameters();\n    const models = child.getModels();\n    const hasContentGotH1 = hasModelsGotH1(brPage, Object.values(models));\n\n    if (params.topHeadingLevel === 'h1' || hasContentGotH1) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction hasModelsGotH1(brPage: BrPage, refs: Array<Reference>) {\n  for (const ref of refs) {\n    const content = brPage.getContent(ref);\n    const data = content?.getData<MaybeMarkdownContent>();\n    let hasListDataGotH1 = false;\n\n    if (!data) {\n      return false;\n    }\n\n    if (Array.isArray(data.itemsRef)) {\n      hasListDataGotH1 = hasModelsGotH1(brPage, data.itemsRef);\n    }\n\n    if (hasListDataGotH1 || hasDocumentGotH1(data)) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction hasDocumentGotH1(data: MaybeMarkdownContent) {\n  return (\n    hasHeadingOne(data.headline) ||\n    hasHeadingOne(data.subheading) ||\n    hasHeadingOne(data.description) ||\n    hasHeadingOne(data.shortDescription) ||\n    hasHeadingOne(data.longDescription) ||\n    hasHeadingOne(data.markdownEditor) ||\n    hasContentBlockGotH1(data.contentBlock)\n  );\n}\n\nfunction hasContentBlockGotH1(contentBlock?: Array<{ [key: string]: string }>) {\n  if (!Array.isArray(contentBlock)) {\n    return false;\n  }\n\n  for (const block of contentBlock) {\n    for (const content of Object.values(block)) {\n      if (hasHeadingOne(content)) {\n        return true;\n      }\n    }\n  }\n\n  return false;\n}\n\n// Content team create H1's using both `#Heading` and `# Heading`\nconst headingOnePattern = /^#(?!#)\\s*.+$/m;\n\nexport function hasHeadingOne(text?: string) {\n  return headingOnePattern.test(text ?? '');\n}\n","import type { Document } from '@bloomreach/spa-sdk';\nimport type { AnalyticsTagging, BrPage } from '../adapters/types';\nimport { getArticleTitle, getPagePrimaryImage } from '../fetching/get-page-seo-data';\nimport { getBrandCodeFromPage } from './getBrandCodeFromPage';\nimport { hasPageGotHeadingOne } from '../utils/has-page-got-h1';\n\nfunction getPageDocumentData(pageBr: BrPage) {\n  return pageBr.getDocument<{\n    model: {\n      data: {\n        contentAssociation: string[];\n        contentType: 'dxcms:Page';\n        hidePageHeader: boolean | null;\n        hidePageFooter: boolean | null;\n        seo: {\n          hideSearchEngine: boolean;\n          metaDescription: string | null;\n          metaKeywords: string | null;\n          pageHeading: string | null;\n          pageTitle: string | null;\n        };\n        /**\n         * Allow the CMS to override the inferred default tagging values (based off of the pageType).\n         * Note: The `analyticsTagging` object was introduced in BRCMS-2748 so older pages may not have this field.\n         */\n        analyticsTagging?: AnalyticsTagging;\n        type: string;\n      };\n    };\n    type: 'document';\n  }>();\n}\n\n/**\n * This is usage-specific data that can not be provided in a generalized way by CPM.\n *\n * It includes:\n * - Data that is outside the scope of CPM, eg:\n *   - cookie information\n *   - current browser pathname\n *   - locale / language / region\n * - Data that must be calculated from the CPM page and provided to the app, eg:\n *   - seo information\n *   - page title\n *   - page header image\n *   - analytics tagging\n *\n * Must be calculated by a function that can be passed to CPMs fetchServerCpmPage function.\n * Its output will be included in the CpmDataBundle, and passed to every mapping function\n * under the key `domainData`\n */\nexport type CpmMappedPage = {\n  brandCode: string;\n  articleTitle: string;\n  seoImage: string;\n  isHeaderH1: boolean;\n  hidePageHeader: boolean;\n  hidePageFooter: boolean;\n  pageType: string;\n  pathname: string;\n  languageCode: string;\n  seo: {\n    hideSearchEngine: boolean;\n    metaDescription: string | null;\n    metaKeywords: string | null;\n    pageHeading: string | null;\n    pageTitle: string | null;\n  };\n  analyticsTagging: AnalyticsTagging;\n};\n\nexport function extractMappedPage(\n  pathname: string,\n  localeCode: string,\n  pageBr: BrPage\n): CpmMappedPage {\n  const { language: languageCode } = new Intl.Locale(localeCode);\n\n  const pageModel = pageBr.toJSON();\n\n  const documentData = getPageDocumentData(pageBr);\n\n  const seo = documentData?.model?.data?.seo ?? ({} as Record<string, undefined>);\n  const analyticsTagging =\n    documentData?.model?.data.analyticsTagging ?? ({} as Record<string, undefined>);\n\n  const brandCode = getBrandCodeFromPage(pageModel);\n  const shouldHeaderRenderH1 = !hasPageGotHeadingOne(pageBr);\n\n  return {\n    brandCode,\n    articleTitle: getArticleTitle(pageModel) ?? '',\n    seoImage: getPagePrimaryImage(pageBr) ?? '',\n    isHeaderH1: shouldHeaderRenderH1,\n    hidePageHeader: !!documentData?.model.data.hidePageHeader,\n    hidePageFooter: !!documentData?.model.data.hidePageFooter,\n    languageCode,\n    pageType: pageBr.getDocument<Document>()?.getData()?.type,\n    pathname,\n    seo: {\n      hideSearchEngine: !!seo.hideSearchEngine,\n      metaDescription: seo.metaDescription ?? null,\n      metaKeywords: seo.metaKeywords ?? null,\n      pageHeading: seo.pageHeading ?? null,\n      pageTitle: seo.pageTitle ?? null,\n    },\n    analyticsTagging: {\n      pageDetailOne: analyticsTagging.pageDetailOne ?? '',\n      pageDetailTwo: analyticsTagging.pageDetailTwo ?? '',\n      pageDetailThree: analyticsTagging.pageDetailThree ?? '',\n      primaryCategory: analyticsTagging.primaryCategory ?? null,\n      adobePageType: analyticsTagging.adobePageType ?? null,\n      trackEventType: analyticsTagging.trackEventType ?? null,\n    },\n  };\n}\n","import type { Page } from '@bloomreach/spa-sdk';\nimport { initialize } from '@bloomreach/spa-sdk';\nimport type { QueryClient } from '@tanstack/react-query';\n\nimport type {\n  BrComponent,\n  BrPage,\n  BrPageModel,\n  CpmPageModel,\n  ExtractCampaignCodeTaggingValuesFn,\n} from '../adapters/types';\nimport { serverSideCmsPageModelQuery } from '../generated/queries';\nimport type { KeyedMappingDefinition, CpmServerBundle } from './types';\nimport type { CpmMappingFunctionRelaxed, CpmPreMappedDataInstanceRelaxed } from './typesRelaxed';\nimport { mapCpmData } from './mapCpmData';\nimport { getBrComponentName, isMappedComponentName, type MappedComponentName } from '../schema';\nimport { removeUndefineds } from '../helpers';\nimport { type CpmMappedPage, extractMappedPage } from './cpmMappedPage';\nimport { getPath } from '../utils/unknown-object-helpers';\nimport { getTaggingValuesFromCpmAnalytics } from '../utils/add-campaign-id-to-url';\nimport { logError } from '@dx-ui/framework-logger';\n\nexport function makeFetchServerCpmPage(definitions: Partial<KeyedMappingDefinition>) {\n  function preMapComponent(\n    componentName: MappedComponentName,\n    componentBr: BrComponent,\n    pageBr: BrPage,\n    mappedPage: CpmMappedPage,\n    extractCampaignCodeTaggingValues: ExtractCampaignCodeTaggingValuesFn\n  ): CpmPreMappedDataInstanceRelaxed {\n    type MapData = CpmMappingFunctionRelaxed | undefined;\n\n    const mapData = definitions[componentName]?.mapData as MapData;\n\n    if (!mapData) {\n      throw new Error(`No mapping provided for component \"${componentName}\"`);\n    }\n\n    const mappedData = mapCpmData(\n      componentName,\n      mapData as unknown as CpmMappingFunctionRelaxed,\n      pageBr,\n      componentBr,\n      mappedPage,\n      {\n        add: () => null,\n        clear: () => null,\n      },\n      extractCampaignCodeTaggingValues\n    );\n\n    return { componentName, mappedData } as unknown as CpmPreMappedDataInstanceRelaxed;\n  }\n\n  function preMapSection(\n    pageBr: Page,\n    mappedPage: CpmMappedPage,\n    sectionName: string,\n    extractCampaignCodeTaggingValues: ExtractCampaignCodeTaggingValuesFn\n  ): Record<string, CpmPreMappedDataInstanceRelaxed> {\n    const brComponents = pageBr.getComponent(sectionName)?.getChildren() ?? [];\n\n    return Object.fromEntries(\n      brComponents\n        .map(function applyDataMapping(componentBr) {\n          let data: CpmPreMappedDataInstanceRelaxed | null = null;\n\n          try {\n            const componentName = getBrComponentName(componentBr);\n            if (!isMappedComponentName(componentName)) {\n              throw new Error(`Cannot map unknown component`);\n            }\n\n            data = preMapComponent(\n              componentName,\n              componentBr,\n              pageBr,\n              mappedPage,\n              extractCampaignCodeTaggingValues\n            );\n          } catch {\n            const [id, label, ref] = [\n              getPath(componentBr, ['model', 'id']),\n              getPath(componentBr, ['model', 'label']),\n              getPath(componentBr, ['model', 'links', 'self', 'href']),\n            ];\n\n            logError(\n              'Cpm Fetch Error',\n              'preMap',\n              `${String(label)}|${String(id)}|${String(label)}|${String(ref)}`\n            );\n          }\n\n          return {\n            isUntranslated: !!getPath(componentBr, ['model', 'meta', 'paramsInfo', 'oneLinkNoTx']),\n            data,\n          };\n        })\n        .map(function assignIndexedKeys({ isUntranslated, data }, i, { length }) {\n          return [\n            [\n              'cpm-',\n              i.toString().padStart(Math.ceil(Math.log10(length)) + 1, '0'),\n              isUntranslated ? '-noTx' : '',\n            ].join(''),\n            data,\n          ];\n        })\n        .filter((item) => item[1] !== null)\n    );\n  }\n\n  return async function fetchServerCpmPage(\n    queryClient: QueryClient,\n    contentPath: string,\n    localeCode: string,\n    pathname: string,\n    sectionNames: string[],\n    extractCampaignCodeTaggingValues = getTaggingValuesFromCpmAnalytics\n  ): Promise<CpmServerBundle<KeyedMappingDefinition> | null> {\n    const cmsPageModel: CpmPageModel = (\n      await serverSideCmsPageModelQuery(queryClient, {\n        path: contentPath,\n        language: localeCode,\n      })\n    ).cmsPageModel;\n\n    if (!cmsPageModel) {\n      return null;\n    }\n\n    const cpmPageModel = cmsPageModel;\n\n    //eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const bloomReachConfiguration: any = {\n      httpClient: () => Promise.resolve({ data: cpmPageModel }),\n    };\n\n    const cpmPage = initialize(bloomReachConfiguration, cpmPageModel as BrPageModel);\n    const mappedPage = extractMappedPage(pathname, localeCode, cpmPage);\n    const preMappedData = Object.fromEntries(\n      sectionNames.map((sectionName) => [\n        sectionName,\n        preMapSection(cpmPage, mappedPage, sectionName, extractCampaignCodeTaggingValues),\n      ])\n    );\n    const experimentationAgentIds = Array.from(\n      Object.values(preMappedData)\n        .flatMap((section) => Object.values(section))\n        .reduce((agentIds, component) => {\n          const mappedAgentIds = component.mappedData.experimentationAgentIds;\n\n          if (mappedAgentIds?.size) {\n            return new Set([...agentIds, ...mappedAgentIds]);\n          }\n\n          return agentIds;\n        }, new Set<string>())\n    ).filter((id) => !!id);\n\n    return removeUndefineds({\n      contentPath,\n      mappedPage,\n      preMappedData,\n      experimentationAgentIds,\n    });\n  };\n}\n","import type * as React from 'react';\n\nexport const ErrorBlock: React.FC<{ title: React.ReactNode; message: string }> = ({\n  title,\n  message,\n}) => {\n  return (\n    <div className=\"bg-danger-alt flex flex-col items-center justify-center p-8 text-center\">\n      <h2 className=\"text-2xl font-bold\" data-e2e=\"pageSubTitle\">\n        {title}\n      </h2>\n\n      <p>{message}</p>\n    </div>\n  );\n};\n","/**\nUsed to declare expected non-recoverable errors while mapping.\n\nUse this when the error is:\n- Part of normal operation\n- Impossible to handle gracefully\n- Should tell the content editor that they've done something wrong\n\nAn example would be an ImageHeadliner component with no Image attached\n*/\nexport class CpmMappingError extends Error {\n  constructor(message: string, options?: any) {\n    super(message, options);\n    this.name = 'CpmMappingError';\n    this.message = message;\n    Object.setPrototypeOf(this, CpmMappingError.prototype);\n  }\n}\n","import * as React from 'react';\nimport { ErrorBlock } from './ErrorBlock';\nimport type { BaseData } from '../adapters/types';\nimport { logError } from '@dx-ui/framework-logger';\nimport { CpmMappingError } from '../mappingEngine/CpmMappingError';\n\ntype ErrorBoundaryProps = {\n  children: React.ReactNode;\n  displayName?: string;\n  data?: BaseData | null;\n  showError: boolean;\n};\n\nexport type ErrorType = Error | string | null | Array<ErrorType>;\n\nconst messageFromError = (err: ErrorType): string =>\n  err instanceof Error ? err.message : typeof err === 'string' ? err : '';\n\nconst titleFromProps = (\n  data?: ErrorBoundaryProps['data'],\n  displayName?: ErrorBoundaryProps['displayName']\n) => {\n  const titleEntity = data ? <code>{displayName}</code> : 'component';\n  const titleSuffix = data ? (\n    <>\n      {' '}\n      with <code>{data.contentType}</code> data\n    </>\n  ) : (\n    ''\n  );\n\n  return (\n    <>\n      Something went wrong rendering {titleEntity}.{titleSuffix}\n    </>\n  );\n};\n\nexport class ErrorBoundary extends React.Component<\n  ErrorBoundaryProps,\n  { hasError: boolean; error: ErrorType }\n> {\n  constructor(props: ErrorBoundaryProps) {\n    super(props);\n    this.state = { hasError: false, error: null };\n  }\n\n  static getDerivedStateFromError(error: Error | string) {\n    return { hasError: !!error, error };\n  }\n\n  componentDidCatch(error: Array<Error> | Error | string) {\n    if (Array.isArray(error)) {\n      for (const errorInstance of error) {\n        if (!(errorInstance instanceof CpmMappingError)) {\n          logError('Cpm Error', errorInstance);\n        }\n      }\n    } else if (!(error instanceof CpmMappingError)) {\n      logError('Cpm Error', error);\n    }\n\n    //eslint-disable-next-line no-console\n    console.error(error);\n  }\n\n  render() {\n    const { data, displayName, children, showError } = this.props;\n\n    if (!this.state.hasError) {\n      return children;\n    }\n\n    // Only render errors in editor mode\n    if (!showError) {\n      return null;\n    }\n\n    if (Array.isArray(this.state.error)) {\n      return this.state.error.map((error) => (\n        <ErrorBlock\n          key={messageFromError(error)}\n          title={titleFromProps(data, displayName)}\n          message={messageFromError(error)}\n        />\n      ));\n    } else {\n      return (\n        <ErrorBlock\n          title={titleFromProps(data, displayName)}\n          message={messageFromError(this.state.error)}\n        />\n      );\n    }\n  }\n}\n","import * as React from 'react';\nimport type { CpmMappedPage } from './cpmMappedPage';\n\ntype MappingEngineContextValue = {\n  mappedPage: CpmMappedPage;\n};\n\nconst MappingContext = React.createContext<MappingEngineContextValue | null>(null);\n\nexport function MappingContextProvider({\n  children,\n  mappedPage,\n}: {\n  children: React.ReactNode;\n  mappedPage: CpmMappedPage;\n}) {\n  const TypeForcedProvider: React.FC<{\n    value: MappingEngineContextValue;\n    children: React.ReactNode;\n  }> = MappingContext.Provider as any; //eslint-disable-line @typescript-eslint/no-explicit-any\n\n  const value = { mappedPage };\n  return <TypeForcedProvider value={value}>{children}</TypeForcedProvider>;\n}\n\nexport function useMappingContext(): MappingEngineContextValue {\n  const val = React.useContext(MappingContext);\n\n  if (val === null) {\n    throw new Error('can not useMappingContext outside of MappingContext.Provider');\n  } else {\n    return val;\n  }\n}\n","import { BrComponentContext, BrPageContext } from '@bloomreach/react-sdk';\nimport type { BrComponent, BrPage } from './types';\nimport { useContext } from 'react';\n\nfunction makeBloomContextHook<T>(context: React.Context<T | undefined>, name: string): () => T {\n  return () => {\n    const extracted = useContext(context);\n\n    if (extracted === undefined) {\n      throw new Error(`Invalid Context call for \"${name}\"`);\n    } else {\n      return extracted;\n    }\n  };\n}\n\nexport const useBrComponentContext = makeBloomContextHook<BrComponent>(\n  BrComponentContext,\n  'BrComponentContext'\n);\n\nexport const usePartialBrPageContext = makeBloomContextHook<BrPage>(BrPageContext, 'BrPageContext');\n\n/**\n * Access context without throwing if it doesn't exist\n */\nfunction makeBloomContextHookSafe<T>(\n  context: React.Context<T | undefined> | undefined\n): () => T | undefined {\n  return () => {\n    if (context) {\n      return useContext(context);\n    } else {\n      return undefined;\n    }\n  };\n}\n\n/**\n * Hook to access Bloomreach context (if it exists).\n */\nexport const useBrPageContextSafe = makeBloomContextHookSafe<BrPage>(BrPageContext);\n","import type { ReactNode } from 'react';\nimport { createContext, useContext, useEffect, useState } from 'react';\n\nexport type Issue = {\n  id: string;\n  message: ReactNode;\n};\n\nexport type Issues = Record<string, ReactNode>;\n\nexport type EditorIssuesContextValue = {\n  isOpen: boolean;\n  issues: Record<string, ReactNode>;\n  addIssues: (issues: Issue[]) => void;\n  clearIssue: (id: string) => void;\n  toggle: () => void;\n};\n\nconst EditorIssuesContext = createContext<EditorIssuesContextValue | undefined>(undefined);\n\nexport function EditorIssuesProvider({ children }: { children: ReactNode }) {\n  const [issues, setIssues] = useState<Issues>({});\n  const [isOpen, setIsOpen] = useState(false);\n\n  const addIssues = (_issues: Issue[]) => {\n    if (!_issues.length) {\n      return;\n    }\n\n    const newIssues = _issues\n      .filter((i) => !issues[i.id])\n      .reduce((issues: Issues, currentIssue) => {\n        issues[currentIssue.id] = currentIssue.message;\n        return issues;\n      }, {});\n\n    if (Object.keys(newIssues).length) {\n      setIssues((prevIssues) => ({\n        ...prevIssues,\n        ...newIssues,\n      }));\n    }\n  };\n  const clearIssue = (id: string) => {\n    if (!issues[id]) {\n      return;\n    }\n\n    setIssues((issues) => {\n      delete issues[id];\n      return issues;\n    });\n  };\n  const toggle = () => setIsOpen((isOpen) => !isOpen);\n\n  const editorContextValue = {\n    issues,\n    isOpen,\n    toggle,\n    addIssues,\n    clearIssue,\n  };\n\n  return (\n    <EditorIssuesContext.Provider value={editorContextValue}>\n      {children}\n    </EditorIssuesContext.Provider>\n  );\n}\n\nfunction issueStub() {\n  throw new Error('can not add or clear issues on this component');\n}\n\nexport function useIssuesContext() {\n  const context = useContext(EditorIssuesContext);\n\n  if (!context) {\n    return {\n      addIssues: issueStub,\n      clearIssue: issueStub,\n      isOpen: false,\n      issues: {} as Record<string, ReactNode>,\n      toggle: issueStub,\n      isCPMEditor: false,\n    };\n  }\n\n  return context;\n}\n\nexport function useIssues() {\n  const [issues, setIssues] = useState<Issue[]>([]);\n  const { addIssues, clearIssue } = useIssuesContext();\n\n  // We have to use an effect to call addIssue because this hook gets called while rendering\n  useEffect(() => {\n    if (issues.length) {\n      addIssues(issues);\n    }\n  }, [issues, addIssues]);\n\n  const add = (issue?: Issue) => {\n    if (!issue) {\n      return;\n    }\n\n    const exists = issues.find((i) => i.id === issue.id);\n\n    if (exists) {\n      return;\n    }\n\n    setIssues([...issues, issue]);\n  };\n\n  return {\n    add,\n    clear: clearIssue,\n  };\n}\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport { usePartialBrPageContext } from '../adapters/hooks';\nimport type { BrPage, BrPageModel } from '../adapters/types';\n\nconst CpmMergedBrPageContext = createContext<BrPageModel | null>(null);\n\nexport function useCpmMergedBrPageContext() {\n  const pageBr = usePartialBrPageContext();\n  const cpmBrPageContext = useContext(CpmMergedBrPageContext);\n\n  // Some components render straight away without needing to fetch, so don't throw if context is null\n  if (!cpmBrPageContext) {\n    return pageBr;\n  }\n\n  const mergedBrPage = Object.create(pageBr);\n\n  mergedBrPage.model.page = {\n    ...mergedBrPage.model.page,\n    ...cpmBrPageContext.page,\n  };\n\n  return mergedBrPage as BrPage;\n}\n\nexport function CpmMergedBrPageContextProvider({\n  children,\n  page,\n}: {\n  children: ReactNode;\n  page: BrPageModel;\n}) {\n  return <CpmMergedBrPageContext.Provider value={page}>{children}</CpmMergedBrPageContext.Provider>;\n}\n","import type { BaseData } from '../adapters/types';\nimport type { CmsDocumentType } from '../schema';\nimport { getDocumentOfTypeFromPageAndComponent } from '../adapters/getters';\nimport { useBrComponentContext } from '../adapters/hooks';\nimport { useCpmMergedBrPageContext } from '../context/CpmMergedBrPageContext';\n\nexport const useData = <T extends BaseData>({\n  documentType,\n}: {\n  documentType?: CmsDocumentType;\n} = {}): T[] | null => {\n  const page = useCpmMergedBrPageContext();\n  const component = useBrComponentContext();\n  return getDocumentOfTypeFromPageAndComponent<T>(\n    documentType ? [documentType] : null,\n    component,\n    page\n  );\n};\n\nexport const useDataSingle = <T extends BaseData>(\n  query: { documentType?: CmsDocumentType } = {}\n): T | null => useData<T>(query)?.[0] ?? null;\n","import { useBrComponentContext } from '../adapters/hooks';\nimport { useCpmMergedBrPageContext } from '../context/CpmMergedBrPageContext';\n\n/**\n * This hook decides if the Bloomreach manage content button should be rendered\n */\nexport function useHideManageContentButton() {\n  const page = useCpmMergedBrPageContext();\n  const component = useBrComponentContext();\n  const componentName = component.getName();\n  const document = page.getDocument<{\n    model: {\n      data: {\n        hidePageHeader: boolean | null;\n        hidePageFooter: boolean | null;\n      };\n    };\n  }>();\n\n  if (componentName === 'Header') {\n    return document?.model.data.hidePageHeader === true;\n  }\n\n  if (componentName === 'Footer') {\n    return document?.model.data.hidePageFooter === true;\n  }\n\n  return false;\n}\n","import { useIssuesContext } from '../hooks/use-issues';\n\nexport function EditorIssues({ id }: { id: string }) {\n  const { issues, isOpen, toggle } = useIssuesContext();\n  const panelId = `${id}-issues`;\n  const issueCount = Object.keys(issues).length;\n  const issuePostfix = `issue${issueCount > 1 ? 's' : ''}`;\n\n  if (!issueCount) {\n    return null;\n  }\n\n  return (\n    <div className=\"min-h-14 overflow-visible text-left\">\n      <div className=\"absolute left-2 top-2 z-50 ml-2 rounded-lg\">\n        <button\n          aria-expanded={isOpen}\n          aria-controls={panelId}\n          /* eslint-disable-next-line tailwindcss/no-custom-classname */\n          className=\"editor-hints-cta bg-warn w-40\"\n          onClick={() => toggle()}\n          type=\"button\"\n        >\n          &#9888; {isOpen ? 'Hide' : 'Show'} {issueCount} {issuePostfix}\n        </button>\n        {/* eslint-disable-next-line tailwindcss/no-custom-classname */}\n        <div className=\"bg-warn-alt mt-2 rounded-lg px-4 py-2\" id={panelId} hidden={!isOpen}>\n          <ul className=\"list-disc pl-2\">\n            {Object.keys(issues).map((key) => {\n              return (\n                <li key={key} className=\"leading-6\">\n                  {issues[key]}\n                </li>\n              );\n            })}\n          </ul>\n        </div>\n      </div>\n    </div>\n  );\n}\n","export const NewContentBanner = ({ displayName }: { displayName: string }) => {\n  return (\n    <div\n      className=\"bg-info-alt border-border-alt relative flex flex-col items-center justify-center p-8 text-center\"\n      style={{ borderStyle: 'dashed', borderTopWidth: 2, padding: 64 }}\n    >\n      <h2 className=\"text-2xl font-bold\" data-e2e=\"pageSubTitle\">\n        {displayName ? <code>{displayName}</code> : 'Unknown component'}\n      </h2>\n\n      <p>Please attach a document to this component.</p>\n    </div>\n  );\n};\n","export const NullDocumentBanner = ({ displayName }: { displayName: string }) => {\n  return (\n    // eslint-disable-next-line tailwindcss/no-custom-classname\n    <div className=\"bg-danger-alt border-border-alt flex flex-col items-center justify-center space-y-6 p-16 text-center font-bold\">\n      <h2 className=\"text-2xl\" data-e2e=\"NullDocumentBanner\">\n        {displayName ? <code>{displayName}</code> : 'Unknown component'}\n      </h2>\n\n      <div>\n        <p>Attached document has been deleted or is missing.</p>\n        <p className=\"mt-2\">Select a new document or this page will not publish.</p>\n      </div>\n    </div>\n  );\n};\n","import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { createContext, useContext, useState } from 'react';\n\ntype Segments = Record<string, Array<string>>;\nexport type DispatchSegmentsUpdate = Dispatch<SetStateAction<Segments>>;\n\nexport type SegmentsContext = [Segments, DispatchSegmentsUpdate];\nconst noop = () => undefined;\n\nconst EditorPageSegmentationContext = createContext<SegmentsContext>([{}, noop]);\n\n/**\n * Store all segments + component/document names for the CPM editor so that it can filter them\n */\nexport function EditorPageSegmentsContextProvider({ children }: { children: ReactNode }) {\n  const state = useState<Segments>({});\n\n  return (\n    <EditorPageSegmentationContext.Provider value={state}>\n      {children}\n    </EditorPageSegmentationContext.Provider>\n  );\n}\n\nexport function useEditorPageSegmentsContext() {\n  const context = useContext(EditorPageSegmentationContext);\n\n  if (context === undefined) {\n    throw new Error(\n      `SegmentsContext is undefined. This component can only be used in apps that are wrapped in SegmentationContextProvider.`\n    );\n  }\n\n  return context;\n}\n","import type { Component as BrComponent, Reference } from '@bloomreach/spa-sdk';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\n\nimport { useBrComponentContext } from '../adapters/hooks';\nimport type { DocumentModels } from '../adapters/types';\nimport { useCpmMergedBrPageContext } from '../context/CpmMergedBrPageContext';\nimport type { DispatchSegmentsUpdate } from '../context/EditorPageSegmentationContext';\nimport { useEditorPageSegmentsContext } from '../context/EditorPageSegmentationContext';\n\ntype BrComponentData = BrComponent & {\n  model: {\n    id: string;\n    name: string;\n    label: string;\n    models?: DocumentModels;\n  };\n};\n\ntype ItemsRef = (Reference | null)[];\n\n/**\n * Find all segments attached to a component so that they can be filtered in the editor\n */\nexport function SegmentationWrapper({ children }: { children: ReactNode }) {\n  const [_, setSegments] = useEditorPageSegmentsContext();\n  const page = useCpmMergedBrPageContext();\n  const brComponent = useBrComponentContext() as unknown as BrComponentData;\n\n  const models = brComponent.getModels();\n  const componentName = brComponent.model.label;\n\n  useEffect(() => {\n    registerSegments(models, page, componentName, setSegments);\n  }, [componentName, models, page, setSegments]);\n\n  return children;\n}\n\nfunction registerSegments(\n  models: DocumentModels,\n  page: ReturnType<typeof useCpmMergedBrPageContext>,\n  componentName: string,\n  setSegments: DispatchSegmentsUpdate\n) {\n  Object.values(models).forEach((docRef) => {\n    const content = page.getContent(docRef?.$ref || '');\n\n    if (!content || typeof content.getData !== 'function') {\n      return;\n    }\n\n    const data = content.getData();\n\n    if (!data) {\n      return;\n    }\n\n    const name = `${componentName}: ${data.displayName}`;\n\n    if (Array.isArray(data.segmentIds)) {\n      data.segmentIds.forEach((segmentId) => {\n        setSegments((prevState) => {\n          const nextState = { ...prevState };\n          let modifiedState = false;\n\n          if (!nextState[segmentId]) {\n            nextState[segmentId] = [];\n            modifiedState = true;\n          }\n\n          // we know this is defined, we just set it above\n          const nextSegment = nextState[segmentId];\n\n          if (!nextSegment.includes(name)) {\n            nextSegment.push(name);\n            modifiedState = true;\n          }\n\n          if (modifiedState) {\n            return nextState;\n          }\n\n          return prevState;\n        });\n      });\n    }\n\n    if (Array.isArray(data.itemsRef)) {\n      registerSegments(convertItemsRefToModels(data.itemsRef), page, componentName, setSegments);\n    }\n  });\n}\n\nfunction convertItemsRefToModels(itemsRef: ItemsRef) {\n  return itemsRef.reduce((models, ref, index) => {\n    models[`${index}`] = ref;\n    return models;\n  }, {} as DocumentModels);\n}\n","import type * as React from 'react';\nimport type { BrProps } from '@bloomreach/react-sdk';\nimport { BrManageContentButton } from '@bloomreach/react-sdk';\n\nimport { EditorIssuesProvider } from '../hooks/use-issues';\nimport { ErrorBoundary } from './ErrorBoundary';\nimport { useDataSingle } from '../hooks/use-data';\nimport { useHideManageContentButton } from '../hooks/use-hide-manage-content-button';\nimport { EditorIssues } from './EditorIssues';\nimport { NewContentBanner } from './NewContentBanner';\nimport { NullDocumentBanner } from './NullDocumentBanner';\nimport { useBrComponentContext } from '../adapters/hooks';\nimport { useCpmMergedBrPageContext } from '../context/CpmMergedBrPageContext';\nimport { SegmentationWrapper } from './SegmentationWrapper';\n\n/**\n * Get a new ID when the parent/child document has changed\n * Note: This will be undefined in live mode because Core+\n * doesn't have ids\n */\nconst getEditorContentId = (data: null | { id?: string } | { id?: string }[]) => {\n  if (!data) {\n    return;\n  }\n\n  if (Array.isArray(data)) {\n    return data\n      .reduce((compound: string[], item) => {\n        if (item?.id) {\n          compound.push(item.id);\n        }\n\n        return compound;\n      }, [])\n      .join(':');\n  } else if (data.id) {\n    return data.id;\n  }\n};\nexport const EditWrapper = ({\n  children,\n  displayName,\n  isEditable = true,\n  isMappedComponent,\n}: {\n  children: React.ReactNode;\n  displayName: string;\n  isEditable?: boolean;\n  isMappedComponent: boolean;\n}) => {\n  const hideManageContentButton = useHideManageContentButton();\n  const page = useCpmMergedBrPageContext();\n  const component = useBrComponentContext();\n\n  const { document: documentRef } = component.getModels();\n\n  const document = documentRef && page.getContent(documentRef);\n  const data = useDataSingle();\n\n  if (!document && isMappedComponent) {\n    // Document has been deleted but is still attached to component\n    // which will stop the page publishing\n    if (document === null) {\n      return <NullDocumentBanner displayName={displayName} />;\n    }\n\n    return <NewContentBanner displayName={displayName} />;\n  }\n\n  const wrappedChildren = (\n    <ErrorBoundary\n      // Force the ErrorBoundary component to reset when the document has changed in editor mode\n      key={getEditorContentId(data)}\n      displayName={displayName}\n      showError\n      data={data}\n    >\n      {children}\n    </ErrorBoundary>\n  );\n\n  if (!isEditable || !isMappedComponent) {\n    return wrappedChildren;\n  }\n\n  return (\n    <SegmentationWrapper>\n      <EditorIssuesProvider key={getEditorContentId(data)}>\n        <div className=\"relative\">\n          {wrappedChildren}\n          <EditorIssues id={`${data?.id}`} />\n          {!hideManageContentButton ? (\n            <BrManageContentButton content={document} parameter=\"document\" relative />\n          ) : null}\n        </div>\n      </EditorIssuesProvider>\n    </SegmentationWrapper>\n  );\n};\n\nexport function withWrapper({\n  Inner,\n  displayName,\n  isEditable = true,\n  isMappedComponent,\n}: {\n  Inner: React.FC<BrProps>;\n  displayName: string;\n  isEditable?: boolean;\n  isMappedComponent: boolean;\n}) {\n  return function WithWrapperInner(brProps: BrProps) {\n    return (\n      <EditWrapper\n        displayName={displayName}\n        isEditable={isEditable}\n        isMappedComponent={isMappedComponent}\n      >\n        <Inner {...brProps} />\n      </EditWrapper>\n    );\n  };\n}\n\nexport default EditWrapper;\n","import type * as React from 'react';\n\nimport type { BrProps } from '@bloomreach/react-sdk';\nimport type { ContainerItem } from '@bloomreach/spa-sdk';\nimport { ErrorBlock } from './ErrorBlock';\n\nexport type FallbackProps = BrProps<ContainerItem> & {\n  mappingName?: string;\n};\n\nconst Fallback: React.FC<BrProps<ContainerItem>> = (props: FallbackProps) => {\n  let message = 'This component type is not supported by CPM';\n\n  if (props.mappingName) {\n    message = `${message} in the ${props.mappingName} mapping library`;\n  }\n\n  return (\n    <ErrorBlock\n      title={<>Could not render {props.component?.getLabel() ?? 'Unknown Component'}</>}\n      message={message}\n    />\n  );\n};\n\nexport default Fallback;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport {\n  BrComponent as BrComponentPoorlyTyped,\n  BrPage as BrPagePoorlyTyped,\n} from '@bloomreach/react-sdk';\nimport type { Configuration, Page, PageModel } from '@bloomreach/spa-sdk';\nimport type { BrMapping } from './types';\n\nexport const BrComponent = BrComponentPoorlyTyped as any as React.FC<{ path: string }>;\nexport const BrPage = BrPagePoorlyTyped as any as React.FC<{\n  page: PageModel | Page;\n  children: React.ReactNode;\n  configuration: Configuration;\n  mapping: BrMapping;\n}>;\n","import { createContext, useContext } from 'react';\nimport Cookies from 'universal-cookie';\n\nexport const CookiesContext = createContext<Cookies>(new Cookies());\n\nexport const useCookies = () => useContext(CookiesContext);\n","export const getIsReducedMotion = () =>\n  typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n    ? window.matchMedia('(prefers-reduced-motion: reduce)').matches\n    : true;\n","import type { ExperimentationConfiguration } from '../adapters/types';\nimport type { ExperimentationAgents } from '../mappingEngine/types';\n\n/**\n * Determine if an item should be rendered based on conductrics state the item's ExperimentationConfiguration.\n */\nexport function shouldRenderExperiment(\n  agents: ExperimentationAgents,\n  config?: ExperimentationConfiguration\n) {\n  // Item has no config so we should always render it\n  if (!config) {\n    return true;\n  }\n\n  const { agentId, variation } = config;\n\n  // Config is incomplete - we need both an ID and variation\n  if (!agentId || !variation) {\n    return true;\n  }\n\n  const agent = agents[agentId];\n\n  // Agent doesn't exist or there has been an error\n  if (!agent || !!agent.error) {\n    return false;\n  }\n\n  // Only show the control variant if an agent has not loaded yet\n  if (!agent.isLoaded) {\n    return variation === 'a';\n  }\n\n  return agent.selection?.choice?.toLowerCase() === variation;\n}\n","import { ErrorBoundary as ReactErrorBoundary } from 'react-error-boundary';\nimport type { ReactNode } from 'react';\n\ntype ErrorBoundaryProps = {\n  /**\n   * callback that gets executed on Error\n   */\n  onError?: (error: Error) => void;\n  children?: ReactNode | undefined;\n};\n\n/** Error boundary component to catch client-side errors, display fallback page/component and call onError callback. */\nexport const ErrorBoundary = (\n  props: React.ComponentProps<typeof ReactErrorBoundary> & ErrorBoundaryProps\n) => {\n  const { children, onError, ...rest } = props;\n\n  const logError = (error: Error) => {\n    onError?.(error);\n  };\n\n  return (\n    <ReactErrorBoundary {...rest} onError={logError}>\n      {children}\n    </ReactErrorBoundary>\n  );\n};\n\nexport default ErrorBoundary;\n","import { ErrorBoundary } from './lib/error-boundary';\n\nexport * from './lib/error-boundary';\nexport default ErrorBoundary;\n","import type { QueryKey } from '@tanstack/react-query';\nimport {\n  QueryClient,\n  QueryClientProvider,\n  QueryErrorResetBoundary,\n  useSuspenseQuery,\n} from '@tanstack/react-query';\nimport type { BrProps } from '@bloomreach/react-sdk';\nimport type { Page, ContainerItem } from '@bloomreach/spa-sdk';\nimport { ErrorBoundary as OSCErrorBoundary } from '@dx-ui/osc-error-boundary';\nimport { BrandButton } from '@dx-ui/osc-brand-buttons';\nimport { Spinner } from '@dx-ui/osc-spinner';\nimport * as React from 'react';\n\nimport type { BrPageModel, DocumentModels } from '../adapters/types';\nimport { CpmMergedBrPageContextProvider } from '../context/CpmMergedBrPageContext';\nimport type { MappedComponentName } from '../schema';\n\nconst MAX_TEXT_SAMPLE_SIZE = 1500;\n\nexport function findLastImageName(text: string) {\n  const sampleSize = text.length < MAX_TEXT_SAMPLE_SIZE ? text.length : MAX_TEXT_SAMPLE_SIZE;\n  const sample = text.slice(-sampleSize);\n  const lastMatch = [...sample.matchAll(/\"displayName\":\"([^\"]*)\"/g)].pop();\n\n  if (Array.isArray(lastMatch) && lastMatch.length > 1) {\n    return lastMatch[1];\n  }\n}\n\nexport function makeDefaultQueryFetcherFn(token?: string) {\n  return async function defaultQueryFn({ queryKey }: { queryKey: QueryKey }) {\n    const [link] = queryKey;\n\n    const url = new URL(link as string);\n    const params = new URLSearchParams(url.search);\n\n    // Remove the ref level param so the CMS returns all the information\n    params.delete('_maxreflevel');\n\n    url.search = params.toString();\n\n    // Auth header required to see content that isn't published in the editor\n    const headers = new Headers();\n    if (token) {\n      headers.set('Authorization', `Bearer ${token}`);\n    }\n\n    const req = await fetch(url, {\n      headers,\n      credentials: 'include',\n    });\n\n    // Get the text first, in case the JSON response is invalid\n    const text = await req.text();\n\n    try {\n      return JSON.parse(text);\n    } catch (err) {\n      if (err instanceof SyntaxError) {\n        // Most common error is a broken image which causes the server to send a bad JSON object\n        const imageName = findLastImageName(text);\n\n        if (imageName) {\n          throw new Error(\n            `Error parsing JSON response. The image named \"${imageName}\" is probably the cause, please re-browse the image.`,\n            { cause: err }\n          );\n        }\n      }\n\n      throw err;\n    }\n  };\n}\n\nexport function CpmQueryClientProvider({\n  children,\n  token,\n  queryFn = makeDefaultQueryFetcherFn,\n}: {\n  children: React.ReactNode;\n  token?: string;\n  queryFn?: typeof makeDefaultQueryFetcherFn;\n}) {\n  const [queryClient] = React.useState(\n    () =>\n      new QueryClient({\n        defaultOptions: {\n          queries: {\n            retry: 0,\n            queryFn: queryFn(token),\n          },\n        },\n      })\n  );\n\n  return <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>;\n}\n\n/**\n * Determine if a component needs to fetch additional data before it can render\n */\nexport function shouldFetchContent(page: Page, models?: DocumentModels) {\n  if (!models) {\n    return false;\n  }\n\n  return Object.values(models).some((ref) => {\n    const content = page.getContent(ref?.$ref ?? '');\n\n    if (!content || typeof content.getData !== 'function') {\n      return false;\n    }\n    const data = content.getData();\n\n    const shouldFetchImages =\n      Array.isArray(data?.images) && data.images.some((image) => !!image?.imageRef?.uuid);\n    const shouldFetchListItems =\n      Array.isArray(data?.itemsRef) && data.itemsRef.some((itemRef) => !!itemRef?.uuid);\n    const shouldFetchRelatedDocuments =\n      Array.isArray(data?.relatedDocumentsRef) &&\n      data.relatedDocumentsRef.some((ref) => !!ref?.uuid);\n\n    return shouldFetchImages || shouldFetchListItems || shouldFetchRelatedDocuments;\n  });\n}\n\nexport function CpmDataWrapper({\n  component: brComponent,\n  page: brPage,\n  children,\n  componentName,\n}: BrProps<ContainerItem> & {\n  children: React.ReactNode;\n  componentName: MappedComponentName;\n}) {\n  if (!brComponent) {\n    return (\n      <ErrorBanner>\n        Missing Bloomreach component (No <pre>BrContainerItem</pre>)\n      </ErrorBanner>\n    );\n  }\n\n  if (!brPage) {\n    return (\n      <ErrorBanner>\n        Missing Bloomreach page (No <pre>BrPage</pre>)\n      </ErrorBanner>\n    );\n  }\n\n  const shouldFetch = shouldFetchContent(brPage, brComponent.getModels());\n\n  if (!shouldFetch) {\n    return children;\n  }\n\n  const url = brComponent.getUrl();\n\n  if (!url) {\n    return <ErrorBanner>Component has no URL to fetch data</ErrorBanner>;\n  }\n\n  return (\n    <QueryErrorResetBoundary>\n      {({ reset }) => (\n        <OSCErrorBoundary\n          onReset={reset}\n          fallbackRender={({ error, resetErrorBoundary }) => (\n            <ErrorBanner>\n              <p className=\"text-2xl\">There was an error loading data for {componentName}!</p>\n              <pre style={{ whiteSpace: 'normal' }}>{error.message}</pre>\n              <BrandButton label=\"Try again\" onClick={() => resetErrorBoundary()} />\n            </ErrorBanner>\n          )}\n        >\n          <React.Suspense\n            fallback={\n              <InfoBanner>\n                <p className=\"text-2xl\">Loading data for {componentName}</p>\n                <Spinner size=\"md\" />\n              </InfoBanner>\n            }\n          >\n            <FetchComponentData brPage={brPage} queryUrl={url}>\n              {children}\n            </FetchComponentData>\n          </React.Suspense>\n        </OSCErrorBoundary>\n      )}\n    </QueryErrorResetBoundary>\n  );\n}\n\nfunction FetchComponentData({\n  brPage,\n  children,\n  queryUrl,\n}: {\n  brPage: Page;\n  children: React.ReactNode;\n  queryUrl: string;\n}) {\n  const { data } = useSuspenseQuery<BrPageModel>({\n    queryKey: [queryUrl],\n  });\n\n  React.useEffect(() => {\n    if (data) {\n      brPage.sync();\n    }\n  }, [brPage, data]);\n\n  return <CpmMergedBrPageContextProvider page={data}>{children}</CpmMergedBrPageContextProvider>;\n}\n\nfunction InfoBanner({ children }: { children: React.ReactNode }) {\n  return (\n    <div className=\"bg-info-alt border-border-alt flex flex-col items-center justify-center space-y-4 border p-8 text-center\">\n      {children}\n    </div>\n  );\n}\n\nfunction ErrorBanner({ children }: { children: React.ReactNode }) {\n  return (\n    <div className=\"bg-danger-alt border-danger flex flex-col items-center justify-center space-y-4 border p-8 text-center\">\n      {children}\n    </div>\n  );\n}\n","import type { MouseEvent, ReactNode } from 'react';\nimport { createContext, useCallback, useContext, useEffect } from 'react';\nimport type { ConductricsSelection } from '@dx-ui/framework-conductrics';\nimport { sendReward, useConductricsSelection } from '@dx-ui/framework-conductrics';\nimport type { ExperimentationAgents } from './types';\n\nconst fallbackValue = {};\nexport const CpmConductricsAgentsContext = createContext<ExperimentationAgents>(fallbackValue);\n\nexport function CpmConductricsAgentsProvider({\n  agentIds,\n  children,\n}: {\n  agentIds: string[];\n  children: ReactNode;\n}) {\n  if (!agentIds.length) {\n    return (\n      <CpmConductricsAgentsContext.Provider value={fallbackValue}>\n        {children}\n      </CpmConductricsAgentsContext.Provider>\n    );\n  }\n\n  return <ConductricsFetcher agentIds={agentIds}>{children}</ConductricsFetcher>;\n}\n\nexport function useCpmConductricsAgents() {\n  const context = useContext(CpmConductricsAgentsContext);\n\n  if (!context) {\n    throw new Error(\n      '`useCpmConductricsAgents` must be used within a `CpmConductricsAgentsProvider`'\n    );\n  }\n\n  return context;\n}\n\nfunction ConductricsFetcher({ agentIds, children }: { agentIds: string[]; children: ReactNode }) {\n  const isSingleAgent = agentIds.length === 1;\n  const selections = useConductricsSelection(agentIds.map((agentId) => ({ agentId })));\n\n  const handleClick = useCallback((event: MouseEvent<HTMLDivElement> | Event) => {\n    if (!(event.target instanceof Element)) {\n      return;\n    }\n\n    const interactiveElement = event.target.closest<HTMLButtonElement | HTMLAnchorElement>(\n      'a, button'\n    );\n\n    if (!interactiveElement) {\n      return;\n    }\n\n    const goal = interactiveElement.dataset.conductricsGoal;\n    const value = interactiveElement.dataset.conductricsValue;\n\n    if (goal) {\n      sendReward(goal, castToNumber(value));\n    }\n  }, []);\n\n  useEffect(() => {\n    if (document?.body) {\n      document.body.addEventListener('click', handleClick, { passive: true });\n    }\n\n    return () => {\n      if (document?.body) {\n        document.body.removeEventListener('click', handleClick);\n      }\n    };\n  }, [handleClick]);\n\n  // useConductricsSelection will return an object that is of type `ConductricsSelection` instead of\n  // Record<AgentID, ConductricsSelection> when there is an array with a single agent ID passed to it.\n  // We need to convert this to a record.\n  const agents =\n    isSingleAgent && isConductricsSingleSelection(selections)\n      ? {\n          [`${[agentIds[0]]}`]: selections,\n        }\n      : selections;\n\n  return (\n    <CpmConductricsAgentsContext.Provider value={agents}>\n      {children}\n    </CpmConductricsAgentsContext.Provider>\n  );\n}\n\nfunction castToNumber(value?: string | number) {\n  const v = Number(value);\n  return Number.isFinite(v) ? v : undefined;\n}\n\nfunction isConductricsSingleSelection(value: unknown): value is ConductricsSelection {\n  return (\n    typeof value === 'object' &&\n    value !== null &&\n    'isLoaded' in value &&\n    'error' in value &&\n    'selection' in value\n  );\n}\n","import type { ReactNode, Dispatch, SetStateAction } from 'react';\nimport { createContext, useContext, useState } from 'react';\n\ntype Variations = Set<string>;\ntype Agents = Map<string, Variations>;\ntype ConductricsAgentsContextValue = [Agents, Dispatch<SetStateAction<Agents>>];\n\nconst noop = () => undefined;\nconst initialMap = new Map();\nconst defaultValue: ConductricsAgentsContextValue = [initialMap, noop];\n\nconst ConductricsAgentsContext = createContext(defaultValue);\n\nexport function ConductricsAgentsContextProvider({ children }: { children: ReactNode }) {\n  const state = useState<Agents>(initialMap);\n\n  return (\n    <ConductricsAgentsContext.Provider value={state}>{children}</ConductricsAgentsContext.Provider>\n  );\n}\n\nexport function useConductricsAgentsContext() {\n  const context = useContext(ConductricsAgentsContext);\n\n  if (context === undefined) {\n    throw new Error(\n      `ConductricsAgentsContext is undefined. This hook can only be used in apps that are wrapped in ConductricsAgentsContextProvider.`\n    );\n  }\n\n  return context;\n}\n\nexport function registerMappedAgents(\n  context: ConductricsAgentsContextValue,\n  mappedAgentIds: Set<string>\n) {\n  const [agents, setAgents] = context;\n  const nextAgents = cloneAgentsMap(agents);\n  let modified = false;\n\n  for (const av of mappedAgentIds) {\n    const [agentId, variation] = av.split(':');\n\n    if (!agentId || !variation) {\n      continue;\n    }\n\n    const variations = nextAgents.get(agentId);\n\n    if (!variations) {\n      nextAgents.set(agentId, new Set([variation]));\n      modified = true;\n      continue;\n    }\n\n    if (!variations.has(variation)) {\n      variations.add(variation);\n      modified = true;\n    }\n  }\n\n  if (modified) {\n    setAgents(nextAgents);\n  }\n}\n\nfunction cloneAgentsMap(agents: Agents) {\n  const clonedMap = new Map();\n\n  for (const [key, value] of agents) {\n    const clonedVariations = new Set([...value]);\n\n    clonedMap.set(key, clonedVariations);\n  }\n\n  return clonedMap;\n}\n","import type { ReactNode, Dispatch, SetStateAction } from 'react';\nimport { createContext, useState, useRef, useEffect, useContext } from 'react';\nimport type { ConductricsSelection } from '@dx-ui/framework-conductrics';\n\ntype PreviewConductricsAgents = Record<string, string | null>;\n\ntype PreviewConductricsAgentsContextValue = [\n  PreviewConductricsAgents,\n  Dispatch<SetStateAction<PreviewConductricsAgents>>\n];\nconst defaultValue = {};\nconst noop = () => undefined;\nconst defaultContextValue: PreviewConductricsAgentsContextValue = [defaultValue, noop];\n\nconst PreviewConductricsAgentsContext = createContext(defaultContextValue);\n\nconst storageKey = 'cpmPreviewAgents';\n\nexport function PreviewConductricsAgentsProvider({ children }: { children: ReactNode }) {\n  const state = useState<PreviewConductricsAgents>(defaultValue);\n  const [conductricsAgentIds, setConductricsAgentsIds] = state;\n  const initialized = useRef(false);\n\n  useEffect(() => {\n    try {\n      const conductricsAgentsStorage = sessionStorage.getItem(storageKey);\n      const previewConductricsAgents = conductricsAgentsStorage\n        ? JSON.parse(conductricsAgentsStorage)\n        : {};\n\n      if (!initialized.current) {\n        initialized.current = true;\n        setConductricsAgentsIds(previewConductricsAgents);\n      } else {\n        sessionStorage.setItem(storageKey, JSON.stringify(conductricsAgentIds));\n      }\n    } catch (error) {\n      // eslint-disable-next-line no-console\n      console.error('Failed to save conductrics agent IDs to session storage', error);\n    }\n  }, [conductricsAgentIds, setConductricsAgentsIds]);\n\n  return (\n    <PreviewConductricsAgentsContext.Provider value={state}>\n      {children}\n    </PreviewConductricsAgentsContext.Provider>\n  );\n}\n\nexport function usePreviewConductricsAgents() {\n  const context = useContext(PreviewConductricsAgentsContext);\n\n  if (context === undefined) {\n    throw new Error(\n      `ConductricsAgentsContext is undefined. This hook can only be used in apps that are wrapped in ConductricsAgentsContextProvider.`\n    );\n  }\n\n  return context;\n}\n\nexport function convertPreviewAgentsToSelections(agents: PreviewConductricsAgents) {\n  return Object.entries(agents)\n    .filter(([, variation]) => typeof variation === 'string' && !!variation)\n    .reduce<Record<string, ConductricsSelection>>(\n      (accumulator, [agentId, variation]) => ({\n        ...accumulator,\n        [agentId]: {\n          error: null,\n          isLoaded: true,\n          selection: {\n            choice: variation ?? undefined,\n          },\n        },\n      }),\n      {}\n    );\n}\n","export type Segments = Array<string>;\n\nexport type SegmentedItem = {\n  segmentIds?: Segments;\n};\n\ntype GetFilteredItemsOptions<TProps> = {\n  items: Array<TProps & SegmentedItem>;\n  segments: Segments;\n  numItems?: number;\n};\n\nexport const getUnsegmentedItems = <T extends SegmentedItem>(items: Array<T>) =>\n  items?.filter((item) => item.segmentIds?.length === 0 || !item.segmentIds) || [];\n\nexport const getFilteredItems = <T>({ segments, items, numItems }: GetFilteredItemsOptions<T>) => {\n  const filteredItems = items?.filter((item) => {\n    // Don't filter any items with 0 segments\n    if ((item.segmentIds?.length ?? 0) <= 0) {\n      return true;\n    }\n\n    return segments?.filter((segmentId) => item?.segmentIds?.includes(segmentId))?.length > 0;\n  });\n\n  return numItems ? filteredItems?.slice(0, numItems) : filteredItems;\n};\n","import { env } from '@dx-ui/framework-env';\n\nexport const isProdApp = () => env('APP_ENV') === 'prd';\n\n// Cookie name for the production Adobe Audience Manager cookie\nexport const TMS_LIVE_COOKIE_NAME = 'TMS';\n// Lower environments use this cookie\nexport const TMS_DEV_COOKIE_NAME = 'TMS_DEV';\n","import type { ReactNode, Dispatch, SetStateAction } from 'react';\nimport { createContext, useContext, useEffect, useRef, useState } from 'react';\n\nimport type { Segments } from '../utils/segments';\n\nexport type PreviewSegmentIds = Segments;\n\nexport type PreviewSegmentsContext = [\n  PreviewSegmentIds,\n  Dispatch<SetStateAction<PreviewSegmentIds>>\n];\nconst noop = () => undefined;\n\nexport const PreviewSegmentsContext = createContext<PreviewSegmentsContext>([[], noop]);\n\nconst storageKey = 'cpmPreviewSegments';\n\nexport function PreviewSegmentsContextProvider({\n  children,\n  value = [],\n  isCPMEditor = false,\n}: {\n  children: ReactNode;\n  value?: PreviewSegmentIds;\n  isCPMEditor?: boolean;\n}) {\n  if (isCPMEditor) {\n    return children;\n  }\n\n  return (\n    <PreviewSegmentsContext.Provider value={[value, noop]}>\n      {children}\n    </PreviewSegmentsContext.Provider>\n  );\n}\n\n/**\n * Save filtered segments in browser session storage. We need to do this because the Bloomreach editor reloads the page\n * when components are added/removed which would reset the state.\n */\nexport function EditorPreviewSegmentsContextProvider({ children }: { children: ReactNode }) {\n  const state = useState<PreviewSegmentIds>([]);\n  const [segmentIds, setSegmentIds] = state;\n  const initialized = useRef(false);\n\n  useEffect(() => {\n    try {\n      const segmentsStorage = sessionStorage.getItem(storageKey);\n      const previewSegments = segmentsStorage ? JSON.parse(segmentsStorage) : [];\n\n      if (!initialized.current) {\n        initialized.current = true;\n        setSegmentIds(previewSegments);\n      } else {\n        sessionStorage.setItem(storageKey, JSON.stringify(segmentIds));\n      }\n    } catch (error) {\n      // eslint-disable-next-line no-console\n      console.error('Failed to save preview segment IDs to session storage', error);\n    }\n  }, [segmentIds, setSegmentIds]);\n\n  return (\n    <PreviewSegmentsContext.Provider value={state}>{children}</PreviewSegmentsContext.Provider>\n  );\n}\n\nexport function usePreviewSegmentsContext() {\n  const previewContentContext = useContext(PreviewSegmentsContext);\n\n  if (previewContentContext === undefined) {\n    throw new Error(\n      `PreviewSegmentsContext is undefined. This component can only be used in apps that are wrapped in PreviewSegmentsContextProvider.`\n    );\n  }\n\n  return previewContentContext;\n}\n","import { useMemo, useState, useEffect } from 'react';\nimport type Cookies from 'universal-cookie';\n\nimport type { Segments, SegmentedItem } from '../utils/segments';\nimport { getFilteredItems, getUnsegmentedItems } from '../utils/segments';\nimport { TMS_LIVE_COOKIE_NAME, TMS_DEV_COOKIE_NAME, isProdApp } from '../utils/constants';\nimport { useCookies } from '../context/CookiesContext';\nimport { usePreviewSegmentsContext } from '../context/PreviewSegmentsContext';\n\nconst getSegmentCookie = (cookies: Cookies) => {\n  let cookie = '';\n\n  if (!isProdApp) {\n    cookie = cookies.get(TMS_DEV_COOKIE_NAME);\n  }\n\n  if (!cookie) {\n    cookie = cookies.get(TMS_LIVE_COOKIE_NAME);\n  }\n\n  return cookie;\n};\n\nexport const useSegments = () => {\n  /*\n   * This must use a combo of useState and useEffect, rather than useMemo.\n   *\n   * This is because the server does not have segment information, so will\n   * always render the page with unsegmented content.\n   *\n   * When the client hydrates, it will have segmentation information right from initial render.\n   * If you do use useMemo, it will hydrate in a segmented state.\n\n   * React would therefore not know to update the DOM, because the client render doesn't\n   * know anything has changed.\n   *\n   * https://reactjs.org/docs/react-dom.html#hydrate\n   *\n   */\n  const [segments, setSegments] = useState<Segments>([]);\n  const cookies = useCookies();\n\n  useEffect(() => {\n    const tms: string = getSegmentCookie(cookies) || '';\n\n    setSegments(\n      tms\n        .split(',')\n        .filter((entry) => (entry.toLowerCase() || '').startsWith('web'))\n        .map((entry) => entry.split('=')[1] || '')\n    );\n  }, [cookies]);\n\n  return segments;\n};\n\ntype UseSegmentedItemsOptions = {\n  /**\n   * Will make sure we don't exceed the number of unsegmented items by adding segmented ones in\n   * This is useful for the dynamic grids (4XGrid / Grid369), where the number of items must be the same, whether we're segmented or not\n   */\n  maintainUnsegmentedCount?: boolean;\n};\n\nexport function useSegmentedItems<T extends SegmentedItem>(\n  items: T[],\n  options: UseSegmentedItemsOptions = {}\n): T[] {\n  const cookieSegments = useSegments();\n  const [previewSegments] = usePreviewSegmentsContext();\n  const segments = previewSegments.length ? previewSegments : cookieSegments;\n\n  const numItems = options.maintainUnsegmentedCount\n    ? getUnsegmentedItems(items).length\n    : items.length;\n\n  const filteredItems = useMemo(\n    () => getFilteredItems({ items, segments, numItems }),\n    [items, numItems, segments]\n  );\n\n  return filteredItems;\n}\n\nexport function useGetFilterSegmentedItems() {\n  const cookieSegments = useSegments();\n  const [previewSegments] = usePreviewSegmentsContext();\n\n  return <T extends SegmentedItem>(items: T[], options: UseSegmentedItemsOptions = {}): T[] => {\n    const segments = previewSegments.length ? previewSegments : cookieSegments;\n\n    const numItems = options.maintainUnsegmentedCount\n      ? getUnsegmentedItems(items).length\n      : items.length;\n\n    return getFilteredItems({ items, numItems, segments });\n  };\n}\n","import type { ExperimentationConfiguration, OscDomLink } from '../adapters/types';\nimport type { ExperimentationAgents } from '../mappingEngine/types';\nimport { shouldRenderExperiment } from './should-render-experiment';\n\nexport type ExperimentationItem = {\n  experimentationConfiguration?: ExperimentationConfiguration;\n  links?: OscDomLink[];\n  link?: OscDomLink;\n} | null;\n\n/**\n * Filters out documents and any child links if they do not match conductrics selections.\n * Items without `experimentationConfiguration` will always be returned.\n */\nexport function filterExperimentationItems<Item extends ExperimentationItem>(\n  agents: ExperimentationAgents,\n  items: Item[]\n) {\n  return items\n    .map((item) => {\n      if (!shouldRenderExperiment(agents, item?.experimentationConfiguration)) {\n        return null;\n      }\n\n      return {\n        ...item,\n        ...filterLinks(agents, item),\n      };\n    })\n    .filter((item) => !!item);\n}\n\nexport function filterLinks<Item extends ExperimentationItem>(\n  agents: ExperimentationAgents,\n  item: Item\n) {\n  if (item?.links?.length) {\n    const links = item.links.filter((link) =>\n      shouldRenderExperiment(agents, link.experimentationConfiguration)\n    );\n\n    return {\n      links,\n      // Link could be undefined if all links have been filtered out\n      link: links[0],\n    };\n  }\n\n  return {};\n}\n","import { useEffect } from 'react';\nimport { useCpmMergedBrPageContext } from '../context/CpmMergedBrPageContext';\nimport { usePreviewSegmentsContext } from '../context/PreviewSegmentsContext';\nimport { usePreviewConductricsAgents } from '../context/PreviewConductricsAgents';\n\n// Bloomreach needs to render edit document buttons each time\n// we add/remove items based on filtering\nexport function useSyncBrPage() {\n  const brPage = useCpmMergedBrPageContext();\n  const [agents] = usePreviewSegmentsContext();\n  const [segments] = usePreviewConductricsAgents();\n\n  useEffect(() => {\n    brPage.sync();\n  }, [agents, segments, brPage]);\n}\n","import { effectsList } from '../mappingEngine/parseComponentParams';\n\nexport function validateCompomentParamEffects(\n  componentParams: Record<string, string | boolean | number | { [key: string]: unknown }>,\n  supportedEffects: Record<string, boolean> | undefined,\n  componentName: string,\n  addIssue: (issue: { id: string; message: string }) => void,\n  clearIssue: (id: string) => void\n): void {\n  const fullSupportedEffects: Record<string, boolean> =\n    supportedEffects ?? Object.fromEntries(effectsList.map((effect: string) => [effect, false]));\n\n  for (const effect of effectsList) {\n    if (componentParams[effect] === true && fullSupportedEffects[effect] === false) {\n      addIssue({\n        id: `${componentName}-${effect}`,\n        message: `\"${componentName}\" does not support effect ${effect}`,\n      });\n    } else {\n      clearIssue(`${componentName}-${effect}`);\n    }\n  }\n}\n","import { ParallaxProvider } from 'react-scroll-parallax';\nimport Cookies from 'universal-cookie';\nimport type { ContainerItem } from '@bloomreach/spa-sdk';\nimport { TYPE_CONTAINER_ITEM_UNDEFINED } from '@bloomreach/spa-sdk';\nimport * as React from 'react';\nimport { ErrorBoundary } from '../components/ErrorBoundary';\nimport { MappingContextProvider, useMappingContext } from './context';\nimport type {\n  CpmDataBundle,\n  CpmServerBundle,\n  CpmClientBundle,\n  KeyedMappingDefinition,\n  CpmMappedComponentData,\n  CpmPreMappedDataInstance,\n  CpmMandatoryMappingOutputFields,\n  CpmListDocumentData,\n  CpmDataDocumentData,\n  ExperimentationAgents,\n} from './types';\nimport { useBrComponentContext } from '../adapters/hooks';\nimport type { BrMapping, ExtractCampaignCodeTaggingValuesFn } from '../adapters/types';\nimport EditWrapper from '../components/EditWrapper';\nimport Fallback from '../components/Fallback';\nimport { useIssues } from '../hooks/use-issues';\nimport type { MappedComponentName } from '../schema';\nimport { mappingSchema } from '../schema';\nimport { mapCpmData } from './mapCpmData';\nimport { BrPage, BrComponent } from '../adapters/components';\nimport { CookiesContext } from '../context/CookiesContext';\nimport { getIsReducedMotion } from '../utils/get-is-reduced-motion';\nimport { getTaggingValuesFromCpmAnalytics } from '../utils/add-campaign-id-to-url';\nimport { shouldRenderExperiment } from '../utils/should-render-experiment';\nimport { useRouter } from 'next/router';\nimport { HeadingLevelProvider } from '@dx-ui/osc-heading-level';\nimport type { BrProps } from '@bloomreach/react-sdk';\nimport { CpmQueryClientProvider, CpmDataWrapper } from './DataWrapper';\nimport { useCpmMergedBrPageContext } from '../context/CpmMergedBrPageContext';\nimport { CpmConductricsAgentsProvider, useCpmConductricsAgents } from './ConductricsWrapper';\nimport { registerMappedAgents, useConductricsAgentsContext } from '../context/ConductricsAgents';\nimport {\n  usePreviewConductricsAgents,\n  convertPreviewAgentsToSelections,\n} from '../context/PreviewConductricsAgents';\nimport { useGetFilterSegmentedItems } from '../hooks/use-segments';\nimport { filterExperimentationItems, filterLinks } from '../utils/filter-experimentation-items';\nimport Head from 'next/head';\nimport { OneLinkWrapper } from '@dx-ui/osc-brands-wrappers';\nimport { useSyncBrPage } from '../hooks/use-sync-br-page';\nimport { validateCompomentParamEffects } from '../utils/validate-component-effects';\nimport type { CpmComponentDefinitionRelaxed } from './typesRelaxed';\n\nexport type CpmRendererProps<Definitions extends KeyedMappingDefinition> = {\n  cpmData: CpmDataBundle<Definitions>;\n  sectionNames: Array<string>;\n  children: (layout: Record<string, React.ReactNode>) => React.ReactNode;\n  campaignCodeTaggingValues?: ExtractCampaignCodeTaggingValuesFn;\n  mappingName?: string;\n};\n\nexport type CpmServerRendererProps = CpmRendererProps<KeyedMappingDefinition> & {\n  cpmData: CpmServerBundle<KeyedMappingDefinition>;\n  definitions: Partial<KeyedMappingDefinition>;\n};\n\nexport type CpmEditorRendererProps = CpmRendererProps<KeyedMappingDefinition> & {\n  cpmData: CpmClientBundle;\n  definitions: Partial<KeyedMappingDefinition>;\n};\n\nfunction makeCpmMappingComponent(\n  definition: CpmComponentDefinitionRelaxed,\n  campaignCodeTaggingValues: ExtractCampaignCodeTaggingValuesFn\n) {\n  const { component: RenderComponent, cpmComponentName, mapData } = definition;\n  const componentSchema = mappingSchema[cpmComponentName];\n\n  const CpmMapper = () => {\n    useSyncBrPage();\n    const pageBr = useCpmMergedBrPageContext();\n    const componentBr = useBrComponentContext();\n    const issuesCallbacks = useIssues();\n    const { mappedPage } = useMappingContext();\n    const filterSegmentedItems = useGetFilterSegmentedItems();\n    const conductricsAgentsContext = useConductricsAgentsContext();\n    const [previewAgents] = usePreviewConductricsAgents();\n    const agents = convertPreviewAgentsToSelections(previewAgents);\n\n    const props = mapCpmData(\n      cpmComponentName,\n      mapData,\n      pageBr,\n      componentBr,\n      mappedPage,\n      issuesCallbacks,\n      campaignCodeTaggingValues,\n      true\n    );\n\n    registerMappedAgents(conductricsAgentsContext, props.experimentationAgentIds);\n\n    if (props.componentParams && props.mappingKind !== 'Unmapped') {\n      // compare the component specific params to universal params, flag issues for params not supported\n      validateCompomentParamEffects(\n        props.componentParams,\n        props.componentParams?.supportedEffects,\n        cpmComponentName,\n        issuesCallbacks.add,\n        issuesCallbacks.clear\n      );\n    }\n\n    // Filter out components that have agentId/variant set\n    if (\n      props.componentParams.agentId &&\n      props.componentParams.variation &&\n      !shouldRenderExperiment(agents, {\n        agentId: props.componentParams.agentId,\n        variation: props.componentParams.variation,\n      })\n    ) {\n      return null;\n    }\n\n    const componentData = filterMappedData(\n      props,\n      agents,\n      filterSegmentedItems,\n      props.maintainUnsegmentedCount\n    );\n\n    if (isCpmListMappingKind(componentData) && !componentData.items?.length) {\n      return null;\n    }\n\n    return (\n      <OneLinkWrapper componentParams={props.componentParams}>\n        <HeadingLevelProvider\n          isEnabled={!!props.componentParams.topHeadingLevel}\n          level={props.componentParams.topHeadingLevel}\n        >\n          <RenderComponent\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            {...(componentData as any)}\n            experimentationAgents={agents}\n          />\n        </HeadingLevelProvider>\n      </OneLinkWrapper>\n    );\n  };\n\n  return function CpmMappingWrapper(props: BrProps<ContainerItem>) {\n    return (\n      <CpmDataWrapper {...props} componentName={definition.cpmComponentName}>\n        <EditWrapper\n          displayName={definition.cpmComponentName}\n          isEditable={componentSchema.isEditable}\n          isMappedComponent={componentSchema.mappingKind !== 'Unmapped'}\n        >\n          <CpmMapper />\n        </EditWrapper>\n      </CpmDataWrapper>\n    );\n  };\n}\n\nconst UniversalProviders = ({ children }: { children: React.ReactNode }) => (\n  <ParallaxProvider isDisabled={getIsReducedMotion()}>\n    <CookiesContext.Provider value={new Cookies()}>{children}</CookiesContext.Provider>\n  </ParallaxProvider>\n);\n\nexport function makeCpmRenderer<Definitions extends KeyedMappingDefinition>(\n  definitions: Partial<Definitions>\n) {\n  return function CpmRenderer({\n    cpmData,\n    children,\n    sectionNames,\n    mappingName,\n    campaignCodeTaggingValues = getTaggingValuesFromCpmAnalytics,\n  }: CpmRendererProps<Definitions>) {\n    // Data from the CMS\n    if ('cpmPage' in cpmData) {\n      return (\n        <CpmEditorRenderer\n          campaignCodeTaggingValues={campaignCodeTaggingValues}\n          cpmData={cpmData}\n          definitions={definitions}\n          mappingName={mappingName}\n          sectionNames={sectionNames}\n        >\n          {children}\n        </CpmEditorRenderer>\n      );\n    }\n\n    // Pre-processed data from on the server for apps\n    return (\n      <CpmConductricsAgentsProvider agentIds={cpmData.experimentationAgentIds}>\n        <Head>\n          <meta name=\"dx_cpm_page\" />\n        </Head>\n        <CpmAppRender\n          campaignCodeTaggingValues={campaignCodeTaggingValues}\n          cpmData={cpmData}\n          definitions={definitions}\n          mappingName={mappingName}\n          sectionNames={sectionNames}\n        >\n          {children}\n        </CpmAppRender>\n      </CpmConductricsAgentsProvider>\n    );\n  };\n}\n\n/**\n * CpmEditorRenderer is only rendered inside the editor app (dx-cpm-lite)\n */\nfunction CpmEditorRenderer({\n  definitions,\n  cpmData,\n  children,\n  sectionNames,\n  mappingName,\n  campaignCodeTaggingValues = getTaggingValuesFromCpmAnalytics,\n}: CpmEditorRendererProps) {\n  const router = useRouter();\n  const mapping = {\n    ...Object.fromEntries(\n      Object.values(definitions).map((definition) => [\n        definition.cpmComponentName,\n        makeCpmMappingComponent(\n          definition as CpmComponentDefinitionRelaxed,\n          campaignCodeTaggingValues\n        ),\n      ])\n    ),\n    //eslint-disable-next-line @typescript-eslint/no-explicit-any\n    [TYPE_CONTAINER_ITEM_UNDEFINED]: (props: any) => (\n      <Fallback {...props} mappingName={mappingName} />\n    ),\n  } as BrMapping;\n\n  return (\n    <UniversalProviders>\n      <MappingContextProvider mappedPage={cpmData.mappedPage}>\n        <CpmQueryClientProvider token={router.query?.token as string}>\n          <BrPage\n            page={cpmData.cpmPage}\n            configuration={cpmData.bloomReachConfiguration}\n            mapping={mapping}\n          >\n            {children(\n              Object.fromEntries(\n                sectionNames.map((sectionName) => [\n                  sectionName,\n                  <BrComponent key={sectionName} path={sectionName} />,\n                ])\n              )\n            )}\n          </BrPage>\n        </CpmQueryClientProvider>\n      </MappingContextProvider>\n    </UniversalProviders>\n  );\n}\n\n/**\n * CpmAppRender is rendered inside apps like dx-brands-ui or dx-guests-ui\n */\nfunction CpmAppRender<Definitions extends KeyedMappingDefinition>({\n  definitions,\n  cpmData,\n  children,\n  sectionNames,\n}: CpmServerRendererProps) {\n  const filterSegmentedItems = useGetFilterSegmentedItems();\n  const agents = useCpmConductricsAgents();\n  const { preMappedData } = cpmData;\n\n  //eslint-disable-next-line no-inner-declarations\n  function composePreMappedData(sectionName: string): React.ReactNode {\n    const section = preMappedData[sectionName];\n\n    if (!section) {\n      return null;\n    }\n\n    return (\n      <React.Fragment>\n        {Object.values(section).map(\n          (\n            {\n              componentName,\n              mappedData,\n            }: CpmPreMappedDataInstance<MappedComponentName, Definitions>,\n            i: number\n          ) => {\n            const componentDefinition = definitions[componentName];\n\n            if (!componentDefinition) {\n              return null;\n            }\n\n            // Filter out components that have agentId/variant set\n            if (\n              mappedData.componentParams.agentId &&\n              mappedData.componentParams.variation &&\n              !shouldRenderExperiment(agents, {\n                agentId: mappedData.componentParams.agentId,\n                variation: mappedData.componentParams.variation,\n              })\n            ) {\n              return null;\n            }\n\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            const RenderComponent = (componentDefinition as any).component;\n\n            const componentData = filterMappedData(\n              mappedData,\n              agents,\n              filterSegmentedItems,\n              mappedData.maintainUnsegmentedCount\n            );\n\n            if (isCpmListMappingKind(componentData) && !componentData.items?.length) {\n              return null;\n            }\n\n            return (\n              // eslint-disable-next-line react/no-array-index-key -- This data will come from the server, it will never change, we're safe to use indexes as keys\n              <ErrorBoundary showError={false} key={i}>\n                <OneLinkWrapper componentParams={mappedData.componentParams}>\n                  <HeadingLevelProvider\n                    isEnabled={!!mappedData.componentParams.topHeadingLevel}\n                    level={mappedData.componentParams.topHeadingLevel}\n                  >\n                    <RenderComponent {...componentData} experimentationAgents={agents} />\n                  </HeadingLevelProvider>\n                </OneLinkWrapper>\n              </ErrorBoundary>\n            );\n          }\n        )}\n      </React.Fragment>\n    );\n  }\n\n  return (\n    <UniversalProviders>\n      <MappingContextProvider mappedPage={cpmData.mappedPage}>\n        {children(\n          Object.fromEntries(\n            sectionNames.map((sectionName) => [sectionName, composePreMappedData(sectionName)])\n          )\n        )}\n      </MappingContextProvider>\n    </UniversalProviders>\n  );\n}\n\n/**\n * Filter documents and links based on clientside conductrics state & the segmentation cookie (TMS)\n */\nexport function filterMappedData<\n  ComponentName extends MappedComponentName,\n  MappingDefinition extends KeyedMappingDefinition\n>(\n  mappedData: CpmMappedComponentData<\n    ComponentName,\n    ReturnType<MappingDefinition[ComponentName]['mapData']>\n  >,\n  agents: ExperimentationAgents,\n  filterSegmentedItems: ReturnType<typeof useGetFilterSegmentedItems>,\n  shouldMaintainUnsegmentedCount: boolean\n) {\n  if (isCpmListMappingKind(mappedData)) {\n    const segmentedItems = filterSegmentedItems(Object.values(mappedData.keyedItems), {\n      maintainUnsegmentedCount: shouldMaintainUnsegmentedCount,\n    });\n\n    return {\n      ...mappedData,\n      items: filterExperimentationItems(agents, segmentedItems),\n      listData: mappedData.listData\n        ? {\n            ...mappedData.listData,\n            links: mappedData.listData.links.filter((link) =>\n              shouldRenderExperiment(agents, link.experimentationConfiguration)\n            ),\n          }\n        : null,\n    };\n  }\n\n  if (isCpmDataDocumentMappingKind(mappedData) && !!mappedData.data) {\n    return {\n      ...mappedData,\n      data: {\n        ...mappedData.data,\n        ...filterLinks(agents, mappedData.data),\n      },\n    };\n  }\n\n  return mappedData;\n}\n\nexport function isCpmListMappingKind<\n  ComponentName extends MappedComponentName,\n  Output extends CpmMandatoryMappingOutputFields\n>(\n  data: CpmMappedComponentData<ComponentName, Output>\n): data is CpmMappedComponentData<ComponentName, Output> & CpmListDocumentData<Output> {\n  return data.mappingKind === 'ListDocument';\n}\n\nexport function isCpmDataDocumentMappingKind<\n  ComponentName extends MappedComponentName,\n  Output extends CpmMandatoryMappingOutputFields\n>(\n  data: CpmMappedComponentData<ComponentName, Output>\n): data is CpmMappedComponentData<ComponentName, Output> & CpmDataDocumentData<Output> {\n  return data.mappingKind === 'DataDocument';\n}\n","import type * as React from 'react';\n\nimport type { CpmServerBundle, KeyedMappingDefinition } from './types';\n\nimport { makeFetchServerCpmPage } from './fetchServerCpmPage';\nimport type { CpmRendererProps } from './CpmRenderer';\nimport { makeCpmRenderer } from './CpmRenderer';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type { getTaggingValuesFromCpmAnalytics } from '../utils/add-campaign-id-to-url';\n\ntype FetchServerCpmPage<Definitions extends KeyedMappingDefinition> = (\n  queryClient: QueryClient,\n  contentPath: string,\n  localeCode: string,\n  pathname: string,\n  sectionNames: string[],\n  extractCampaignCodeTaggingValues?: typeof getTaggingValuesFromCpmAnalytics\n) => Promise<CpmServerBundle<Definitions> | null>;\n\nexport function generateCpmAppInterface<Definitions extends KeyedMappingDefinition>(\n  definitions: Partial<Definitions>\n): {\n  fetchServerCpmPage: FetchServerCpmPage<Definitions>;\n  CpmRenderer: React.FC<CpmRendererProps<Definitions>>;\n} {\n  const CpmRenderer = makeCpmRenderer<Definitions>(definitions);\n  const fetchServerCpmPage = makeFetchServerCpmPage(definitions as KeyedMappingDefinition);\n\n  return {\n    fetchServerCpmPage,\n    CpmRenderer,\n  };\n}\n","import type { Configuration } from '@bloomreach/spa-sdk';\nimport { env } from '@dx-ui/framework-env';\n\ntype HttpClient = Configuration['httpClient'];\ntype HttpRequest = Parameters<HttpClient>[0];\ntype HttpResponse = ReturnType<HttpClient>;\n\nexport const makeClientBrConfiguration = (contentPath: string): Configuration => {\n  const [_, channelName, ...pathSlugs] = contentPath.split('/');\n  const path = '/' + pathSlugs.join('/');\n\n  // Related to editor mode preview, not dx-preview header, however same effect\n  const queryString = contentPath.split('?')[1];\n  const previewSlug = new URLSearchParams(queryString).get('preview');\n\n  const endpoint = [\n    env('CMS_BASE_URL'),\n    channelName,\n    ...(previewSlug ? ['/', previewSlug] : []),\n    '/resourceapi',\n  ].join('');\n\n  return {\n    debug: true, // gives console.debug messages, might be useful in editor\n    endpoint: `${endpoint}?_maxreflevel=0`,\n    httpClient,\n    request: { path },\n  } satisfies Configuration;\n};\n\nexport const httpClient: Configuration['httpClient'] = async ({\n  method,\n  url: _url,\n  headers: requestHeaders,\n  data: requestData,\n}: HttpRequest): HttpResponse => {\n  const url = new URL(_url);\n  const params = new URLSearchParams(url.search);\n\n  // We need *all* references when adding/removing documents from components\n  if (params.get('_hn:type') === 'component-rendering') {\n    params.delete('_maxreflevel');\n  }\n\n  url.search = params.toString();\n\n  const headers = Object.fromEntries(\n    Object.entries(requestHeaders ?? {}).map(([key, val]) => [key, val + ''])\n  );\n\n  const fetchResponse = await fetch(url, {\n    method,\n    headers,\n    credentials: 'include',\n    body: requestData ? requestData : undefined,\n  });\n\n  const data = await fetchResponse.json();\n\n  return { data };\n};\n","import { useState, useEffect } from 'react';\nimport { initialize } from '@bloomreach/spa-sdk';\n\nimport { makeClientBrConfiguration } from '../fetching/make-client-br-configuration';\nimport type { CpmClientBundle } from './types';\nimport { extractMappedPage } from './cpmMappedPage';\nimport { logError } from '@dx-ui/framework-logger';\n\ntype ClientCpmPageError = { errorTitle: string; statusCode: 404 | 500 };\ntype Output =\n  | (CpmClientBundle & { blueprint: string; pageType: string })\n  | ClientCpmPageError\n  | null;\n\nexport function useClientCpmPage(contentPath: string, localeCode: string): Output {\n  const [output, setOutput] = useState<Output>(null);\n\n  useEffect(() => {\n    (async () => {\n      try {\n        setOutput(null);\n\n        if (contentPath === undefined) {\n          setOutput({\n            statusCode: 404,\n            errorTitle: 'Page Not Found',\n          });\n          return;\n        }\n\n        const bloomReachConfiguration = makeClientBrConfiguration(contentPath);\n        const cpmPage = await initialize(bloomReachConfiguration);\n        const cpmPageModel = cpmPage.toJSON();\n        const mappedPage = extractMappedPage(contentPath, localeCode, cpmPage);\n        const blueprint = (cpmPageModel?.channel?.info?.props?.blueprintName as string) ?? '';\n        const rootDocument = cpmPage.getContent(cpmPageModel?.root.$ref);\n        // @ts-expect-error - need to update types to reflect actual data\n        const pageType = rootDocument?.name ?? '';\n\n        setOutput({\n          blueprint,\n          pageType,\n          mappedPage,\n          cpmPage,\n          bloomReachConfiguration,\n          contentPath,\n          __cpmPageModel: cpmPageModel,\n          experimentationAgentIds: [],\n        });\n      } catch (error) {\n        // eslint-disable-next-line no-console\n        console.error(error);\n\n        if (\n          error instanceof Error &&\n          error.name === 'TypeError' &&\n          /Cannot read properties of undefined/.test(error.message)\n        ) {\n          // eslint-disable-next-line no-console\n          console.error(\n            'Failed to initialise Bloomreach. This can be caused by invalid JSON in the page response.'\n          );\n        }\n\n        setOutput({\n          statusCode: 500,\n          errorTitle: 'Unavailable',\n        });\n      }\n    })().catch((error) => logError('USE_CLIENT_CPM_PAGE', error, 'failed in useclientcpmpage()'));\n  }, [contentPath, localeCode]);\n\n  return output;\n}\n","import type { MappedComponentName } from '../schema';\nimport type {\n  CpmMappedComponentData,\n  CpmComponentDefinition,\n  CpmMappingFunction,\n  CpmMandatoryMappingOutputFields,\n} from './types';\n\nexport function createCpmComponentDefinition<\n  ComponentName extends MappedComponentName,\n  MappingOutput extends CpmMandatoryMappingOutputFields\n>(\n  cpmComponentName: ComponentName,\n  mapData: CpmMappingFunction<ComponentName, MappingOutput>,\n  component: React.ComponentType<\n    CpmMappedComponentData<\n      ComponentName,\n      ReturnType<CpmMappingFunction<ComponentName, MappingOutput>>\n    >\n  >\n): CpmComponentDefinition<ComponentName, MappingOutput> {\n  return {\n    cpmComponentName,\n    mapData,\n    component,\n  };\n}\n","//TODO: unify with ErrorBlock\nexport const GenericError = ({\n  description1,\n  description2 = '',\n}: {\n  description1: string;\n  description2: string;\n}) => {\n  return (\n    <div className=\"m-4 flex h-screen flex-col items-start justify-start p-4 lg:items-center lg:justify-center\">\n      <h2 className=\"mb-10 text-2xl font-bold md:mb-20\" data-e2e=\"pageSubTitle\">\n        Error: {description1}\n      </h2>\n      <h3>{description2}</h3>\n    </div>\n  );\n};\n","import { BrManageContentButton } from '@bloomreach/react-sdk';\nimport { useBrPageContextSafe } from '../adapters/hooks';\n\n/**\n * Allows rendering of a dynamic orange \"manage content\" button. This will only be enabled in the CMS (Bloomreach) via\n * the CPM editor app (dx-cpm-lite).\n */\nexport function useCreateManageContentButton() {\n  // This *won't* throw in apps that are missing the Bloomreach context provider\n  const page = useBrPageContextSafe();\n\n  return function CpmManageContentButton($ref?: string) {\n    // Context will only exist in the editor app\n    if (!page || typeof page.getContent !== 'function' || !$ref) {\n      return null;\n    }\n\n    // Bloomreach needs to know what content should be edited\n    const content = page.getContent($ref);\n\n    if (!content) {\n      return null;\n    }\n\n    return (\n      <div className=\"relative\" data-testid=\"cms-control\">\n        <BrManageContentButton content={content} />\n      </div>\n    );\n  };\n}\n","import { useCpmConductricsAgents } from '../mappingEngine/ConductricsWrapper';\nimport type { ExperimentationItem } from '../utils/filter-experimentation-items';\nimport { filterExperimentationItems } from '../utils/filter-experimentation-items';\n\nexport function useExperimentation<Item extends ExperimentationItem>(\n  items: Item[],\n  modifyItem?: (item: Item) => Item\n) {\n  const agents = useCpmConductricsAgents();\n  const filtered = filterExperimentationItems(agents, items);\n\n  if (!modifyItem) {\n    return filtered;\n  }\n\n  return filtered.map(modifyItem);\n}\n","import type { AssetVariantNames } from '../adapters/types';\nimport type { StructuredAsset, ImageAsset } from '../transformers/enhancers';\n\ntype StructuredAssetWithAspectRatioGuaranteed<AspectRatio extends AssetVariantNames> =\n  StructuredAsset & {\n    aspectRatios: Partial<Record<AssetVariantNames, ImageAsset>> & Record<AspectRatio, ImageAsset>;\n  };\n\nexport function selectFirstAssetWithAspectRatio<AspectRatio extends AssetVariantNames>(\n  aspectRatio: AssetVariantNames,\n  cpmAssets: (StructuredAsset | undefined)[]\n): StructuredAssetWithAspectRatioGuaranteed<AspectRatio> | null {\n  for (const asset of cpmAssets) {\n    if (asset?.aspectRatios?.[aspectRatio]) {\n      return asset as StructuredAssetWithAspectRatioGuaranteed<AspectRatio>;\n    }\n  }\n\n  return null;\n}\n\nexport function selectLastAssetWithAspectRatio<AspectRatio extends AssetVariantNames>(\n  aspectRatio: AssetVariantNames,\n  cpmAssets: (StructuredAsset | undefined)[]\n): StructuredAssetWithAspectRatioGuaranteed<AspectRatio> | null {\n  const reversed = [...cpmAssets].reverse();\n  for (const asset of reversed) {\n    if (asset?.aspectRatios?.[aspectRatio]) {\n      return asset as StructuredAssetWithAspectRatioGuaranteed<AspectRatio>;\n    }\n  }\n\n  return null;\n}\n","import type { ReactNode } from 'react';\nimport cn from 'classnames';\n\nimport type { HeadingAnalysis, HeadingAnalysisNode } from '../../hooks/use-heading-analyzer';\nimport styles from './HeadingAnalyzer.module.css';\n\nexport function HeadingAnalyzer({ analysis }: { analysis: HeadingAnalysis }) {\n  if (!analysis.headings?.length) {\n    return <p className=\"p-4\">No headings detected</p>;\n  }\n\n  return (\n    <div className=\"max-h-[30rem] min-h-40 overflow-scroll\">\n      <HeadingList>\n        {analysis.headings.map((heading) => (\n          <HeadingListItem key={heading.text} heading={heading} />\n        ))}\n      </HeadingList>\n    </div>\n  );\n}\n\nfunction HeadingList({ children }: { children: ReactNode }) {\n  return (\n    <ul className=\"relative pl-4 before:absolute before:left-2 before:top-0 before:h-full before:w-px before:bg-[#101010]\">\n      {children}\n    </ul>\n  );\n}\n\nfunction HeadingListItem({ heading }: { heading: HeadingAnalysisNode }) {\n  const handleClick = () => {\n    const $el = document.querySelector(`[data-heading-analyzer-index=\"${heading.index}\"]`);\n    const outlineCssClass = styles.outline ?? '';\n\n    $el?.scrollIntoView({ behavior: 'auto', block: 'start', inline: 'center' });\n    $el?.classList.add(outlineCssClass);\n\n    setTimeout(() => {\n      $el?.classList.remove(outlineCssClass);\n    }, 4000);\n  };\n\n  const textStyle = cn('block text-left', { 'text-danger': heading.hasError });\n  const headingDescription = (\n    <>\n      <span className=\"font-bold\">H{heading.headingLevel}:</span> {heading.text}\n    </>\n  );\n\n  return (\n    <li\n      aria-label={`H${heading.headingLevel}: ${heading.text}`}\n      className=\"relative px-4 py-2 before:absolute before:-left-2 before:top-5 before:h-px before:w-4 before:bg-[#101010]\"\n    >\n      {heading.isMissing ? (\n        <span className={textStyle}>{headingDescription}</span>\n      ) : (\n        <button className={textStyle} type=\"button\" onClick={handleClick}>\n          {headingDescription}\n        </button>\n      )}\n      {heading.children?.length ? (\n        <div className=\"mt-4\">\n          <HeadingList>\n            {heading.children.map((child) => (\n              <HeadingListItem key={child.text} heading={child} />\n            ))}\n          </HeadingList>\n        </div>\n      ) : null}\n    </li>\n  );\n}\n","import { useEffect, useState } from 'react';\n\nexport type HeadingAnalysisNode = {\n  headingLevel: number;\n  index: number;\n  text: string;\n  children?: HeadingAnalysisNode[];\n  hasError?: boolean;\n  isMissing?: boolean;\n};\n\nexport type HeadingAnalysis = { headings: HeadingAnalysisNode[] | undefined; issueCount: number };\n\nconst config = { childList: true, subtree: true };\nconst defaultValue = { headings: [], issueCount: 0 };\n\nexport function useHeadingAnalyzer(rootElementId = '#__next') {\n  const [analysis, setAnalysis] = useState<HeadingAnalysis>(defaultValue);\n\n  useEffect(() => {\n    const container = document.querySelector(rootElementId);\n\n    if (!container) {\n      return;\n    }\n\n    setAnalysis(createHeadingTree(container));\n\n    const observer = new MutationObserver(() => setAnalysis(createHeadingTree(container)));\n    observer.observe(container, config);\n\n    return () => {\n      observer.disconnect();\n    };\n  }, [rootElementId]);\n\n  return analysis;\n}\n\nconst MISSING_HEADING_TEXT = 'Heading is missing text content!';\n\nfunction createHeadingTree(doc: Document | Element) {\n  const rootNode: HeadingAnalysisNode = { headingLevel: 0, index: -1, text: '', children: [] };\n  const tree = [rootNode];\n  let issueCount = 0;\n\n  doc.querySelectorAll('h1, h2, h3, h4, h5, h6').forEach(($heading, index) => {\n    if ($heading.getAttribute('data-heading-analyzer-ignore')) {\n      return;\n    }\n\n    const headingLevel = parseInt($heading.tagName.slice(1));\n    const text = $heading.textContent ?? MISSING_HEADING_TEXT;\n    const hasError = text === MISSING_HEADING_TEXT;\n    const node: HeadingAnalysisNode = {\n      headingLevel,\n      index,\n      text,\n      children: [],\n      hasError,\n    };\n\n    if (hasError) {\n      issueCount++;\n    }\n\n    while (tree.length && tree[tree.length - 1]!.headingLevel >= headingLevel) {\n      tree.pop();\n    }\n\n    while (tree.length < node.headingLevel) {\n      const missingHeadingLevelNode: HeadingAnalysisNode = {\n        headingLevel: tree.length,\n        index: -tree.length,\n        text: 'Missing heading level!',\n        children: [],\n        hasError: true,\n        isMissing: true,\n      };\n      tree[tree.length - 1]!.children?.push(missingHeadingLevelNode);\n      tree.push(missingHeadingLevelNode);\n      issueCount++;\n    }\n\n    $heading.setAttribute('data-heading-analyzer-index', `${index}`);\n\n    tree[tree.length - 1]!.children?.push(node);\n    tree.push(node);\n  });\n\n  return {\n    issueCount,\n    headings: rootNode.children,\n  };\n}\n","export * as GeneratedQueries from './generated/queries';\n\nexport type {\n  CpmClientBundle,\n  CpmComponentDefinition,\n  CpmDataBundle,\n  CpmMappingFunction,\n  CpmMappingFunctionInput,\n  CpmMappedComponentData,\n  ComponentParamsProperty,\n  CpmPreMappedDataInstance,\n  CpmServerBundle,\n  KeyedMappingDefinition,\n  UniversalComponentParams,\n  ExperimentationAgents,\n} from './mappingEngine/types';\n\nexport type {\n  CpmMappingFunctionRelaxed,\n  CpmMappingFunctionInputRelaxed,\n} from './mappingEngine/typesRelaxed';\n\nexport { generateCpmAppInterface } from './mappingEngine/generateCpmAppInterface';\nexport { useClientCpmPage } from './mappingEngine/useClientCpmPage';\nexport { createCpmComponentDefinition } from './mappingEngine/createCpmComponentDefinition';\nexport { applyMapData } from './mappingEngine/mapCpmData';\nexport type { CpmMappedPage } from './mappingEngine/cpmMappedPage';\n\nexport type { MappingSchema, MappedComponentName, MappedComponent } from './schema';\nexport { mappingSchema } from './schema';\n\nexport type { StructuredAsset } from './transformers/enhancers';\nexport type { AnalyticsTagging } from './adapters/types';\nexport type { AssetVariants } from './adapters/types';\nexport type { EditorialData } from './adapters/types';\nexport { ErrorBoundary } from './components/ErrorBoundary';\nexport { GenericError } from './components/GenericError';\nexport { transformLink } from './transformers/transform-links';\nexport { getPagePrimaryImage, getArticleTitle } from './fetching/get-page-seo-data';\nexport { useCreateManageContentButton } from './hooks/use-manage-content-button';\nexport { useExperimentation } from './hooks/use-experimentation';\nexport { getTaggingValuesFromCpmAnalytics } from './utils/add-campaign-id-to-url';\nexport { removeNullyFromArray } from './utils/remove-nully-from-array';\nexport {\n  selectFirstAssetWithAspectRatio,\n  selectLastAssetWithAspectRatio,\n} from './utils/select-asset-with-aspect-ratio';\nexport { shouldRenderExperiment } from './utils/should-render-experiment';\n\nexport type {\n  CpmPageModel,\n  BrComponent,\n  BrPage,\n  AwardData,\n  BaseData,\n  BrandData,\n  BrandNavigationListData,\n  CmsDomLink,\n  EventData,\n  FaqData,\n  ImageData,\n  ListData,\n  LocationData,\n  MessageData,\n  NavigationListData,\n  OffersData,\n  OscDomLink,\n  PageData,\n  PartnerData,\n  PeopleData,\n  PlaceData,\n  PolicyData,\n  PropertyAmenityData,\n  PropertyImageCompoundData,\n  PropertyMessageData,\n  PropertyProfileData,\n  RoomData,\n  StoryData,\n  AppDataResult,\n  AddCampaignCodeToUrl,\n  CpmNavigationList,\n  CpmBrandNavigationItem,\n  CpmBrandNavigationList,\n  CpmNavigationListDocument,\n  ExperimentationConfiguration,\n} from './adapters/types';\n\nexport {\n  useEditorPageSegmentsContext,\n  EditorPageSegmentsContextProvider,\n} from './context/EditorPageSegmentationContext';\nexport { useSegmentedItems } from './hooks/use-segments';\n\nexport { useCookies, CookiesContext } from './context/CookiesContext';\nexport {\n  usePreviewSegmentsContext,\n  PreviewSegmentsContextProvider,\n  EditorPreviewSegmentsContextProvider,\n} from './context/PreviewSegmentsContext';\n\nexport * from './generated/queries';\nexport type { CmsPageModelQuery } from './generated/types';\n\nexport { CpmQueryClientProvider } from './mappingEngine/DataWrapper';\nexport { HeadingAnalyzer } from './components/HeadingAnalyzer/HeadingAnalyzer';\nexport { useHeadingAnalyzer } from './hooks/use-heading-analyzer';\nexport { CpmMappingError } from './mappingEngine/CpmMappingError';\nexport {\n  ConductricsAgentsContextProvider,\n  useConductricsAgentsContext,\n} from './context/ConductricsAgents';\nexport {\n  PreviewConductricsAgentsProvider,\n  usePreviewConductricsAgents,\n} from './context/PreviewConductricsAgents';\nexport { effectsList } from './mappingEngine/parseComponentParams';\n","import type * as Types from './types';\n\nimport {\n  useQuery,\n  type QueryClient,\n  type FetchQueryOptions,\n  type UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { DXError } from '@dx-ui/types-graphql';\n\nexport const BrandMessagesDocument = {\n  operationName: 'brand',\n  operationString: `query brand($brandCode: String!, $lang: String!) {\n  clientMessages: brand(brandCode: $brandCode, language: $lang) {\n    messages {\n      id\n      type\n      name\n      headline\n      shortDescription\n      startDateTime\n      endDateTime\n      link {\n        _id\n        adaDescription\n        isNewWindow\n        label\n        url\n      }\n    }\n  }\n}`,\n  originalOpName: 'BrandMessages',\n};\nexport function useBrandMessagesQuery<TData = Types.BrandMessagesQuery, TError = DXError>(\n  variables: Types.BrandMessagesQueryVariables,\n  options?: Omit<UseQueryOptions<Types.BrandMessagesQuery, TError, TData>, 'queryKey'>\n) {\n  return useQuery<Types.BrandMessagesQuery, TError, TData>({\n    queryKey: [BrandMessagesDocument, variables],\n    ...options,\n  });\n}\nexport function serverSideBrandMessagesQuery(\n  queryClient: QueryClient,\n  variables: Types.BrandMessagesQueryVariables,\n  options?: FetchQueryOptions<Types.BrandMessagesQuery>\n) {\n  return queryClient.fetchQuery<Types.BrandMessagesQuery>({\n    queryKey: [BrandMessagesDocument, variables],\n    ...options,\n  });\n}\n","import * as React from 'react';\nimport dynamic from 'next/dynamic';\n\nimport { Link } from '@dx-ui/osc-link';\nimport { Alert, Alerts, AlertDialog } from '@dx-ui/osc-alert';\n\nimport { useBrandMessagesQuery } from '../../generated/queries';\n\nimport { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { logError } from '@dx-ui/framework-logger';\nimport { useTranslation } from 'next-i18next';\nimport type { BrandMessageType } from '@dx-ui/gql-types';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\nconst getStatus = (messageType: BrandMessageType) => {\n  switch (messageType) {\n    case 'error':\n      return 'emergency';\n    default:\n      return 'urgent';\n  }\n};\n\nconst DynamicMarkdown = dynamic(() => import('../../utils/dynamic-markdown-component'));\n\nexport default createCpmComponentDefinition(\n  'BrandAlerts',\n\n  () => null,\n\n  function BrandAlertsCpm({ componentParams, mappedPage: { brandCode, languageCode } }) {\n    const { data, isFetching, refetch } = useBrandMessagesQuery({\n      brandCode,\n      lang: languageCode,\n    });\n    const { t } = useTranslation('osc-alert');\n\n    /*\n     * This causes the request to be made client side,\n     * This is so alerts are not included in the server-side page cache\n     */\n    React.useEffect(() => {\n      refetch().catch((error) => logError('BrandAlerts', error, 'failed to refech brand alert'));\n    }, [refetch]);\n\n    const messages = data?.clientMessages?.messages ?? [];\n    const label = '';\n\n    if (isFetching || messages?.length === 0) {\n      return null;\n    }\n\n    return messages?.length > 0 ? (\n      <BrandComponentThemeInline componentParams={componentParams} brandCode={brandCode}>\n        <div>\n          <Alerts label={label}>\n            {messages.map(\n              ({\n                link: brandLink,\n                type: messageType,\n                shortDescription,\n                headline,\n                ...messageProps\n              }) => {\n                const link: React.ComponentProps<typeof Link> = {\n                  ...brandLink,\n                  adaDescription: brandLink?.adaDescription ?? undefined,\n                  isNewWindow: brandLink?.isNewWindow ?? undefined,\n                  label: brandLink?.label ?? undefined,\n                  url: brandLink?.url ?? '',\n                };\n\n                return (\n                  <Alert\n                    key={[headline, shortDescription].join('')}\n                    title={headline ?? undefined}\n                    status={messageType ? getStatus(messageType) : undefined}\n                  >\n                    {link && !shortDescription ? (\n                      <Link {...link}>{link.label}</Link>\n                    ) : (\n                      !!shortDescription && (\n                        <AlertDialog\n                          label={t('readMessage')}\n                          {...(headline ? { title: headline } : { ariaLabel: t('messageDialog') })}\n                          {...messageProps}\n                        >\n                          <>\n                            <DynamicMarkdown>{shortDescription}</DynamicMarkdown>\n                            {link?.label && link?.url ? <Link {...link}>{link.label}</Link> : null}\n                          </>\n                        </AlertDialog>\n                      )\n                    )}\n                  </Alert>\n                );\n              }\n            )}\n          </Alerts>\n        </div>\n      </BrandComponentThemeInline>\n    ) : null;\n  }\n);\n","export { default } from './cpm-component-definition';\n","import type { ReactNode } from 'react';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport cx from 'classnames';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { Link as LinkType } from '@dx-ui/osc-link';\n\nexport type AttachedContent = {\n  headline?: string | null;\n  description?: string | null;\n  link?: (LinkType & { experimentationConfiguration?: CmsExperimentationConfiguration }) | null;\n  alignContent?: CmsAlignContent;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  cmsDocumentControl?: ReactNode;\n  cmsTranslationClasses?: string;\n};\n\nexport const DocsTAttachedContent: React.FC<React.PropsWithChildren<AttachedContent>> = () => null;\n\nexport const AttachedContent = ({\n  headline,\n  description,\n  link,\n  alignContent = 'center',\n  brandComponentTheme,\n}: AttachedContent) => {\n  const textAlignCss = {\n    'text-left': alignContent === 'left',\n    'text-right': alignContent === 'right',\n    'text-center': alignContent === 'center',\n  };\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div data-testid=\"carousel-attached-content\">\n      {headline ? (\n        <BrandTextHeader\n          className={cx(textAlignCss, {\n            '!text-text-inverse': isDark,\n            'brand-ht:!text-text-inverse': isLight,\n          })}\n        >\n          {headline}\n        </BrandTextHeader>\n      ) : null}\n\n      {description ? (\n        <BrandTextBody\n          className={cx(textAlignCss, {\n            'text-text-inverse': isDark,\n            'brand-ht:text-text-inverse': isLight,\n          })}\n          brandComponentTheme={brandComponentTheme}\n        >\n          {description}\n        </BrandTextBody>\n      ) : null}\n\n      {link ? (\n        <div className={cx('mt-2 xl:mt-4', textAlignCss)}>\n          <BrandLink\n            label={link.label}\n            isNewWindow={link.isNewWindow}\n            showNewWindowIcon={link.isNewWindow}\n            url={link.url}\n            brandComponentTheme={brandComponentTheme}\n            data-conductrics-goal={link.experimentationConfiguration?.goal}\n            data-conductrics-value={link.experimentationConfiguration?.value}\n          />\n        </div>\n      ) : null}\n    </div>\n  );\n};\n","export const breakpoints: Record<string, string> = {\n  sm: '640',\n  md: '768',\n  lg: '1024',\n  xl: '1280',\n  xxl: '1440',\n};\n\nexport const getBreakpoint = (\n  size: keyof typeof breakpoints,\n  asNumber?: boolean\n): number | string => {\n  const value = breakpoints[size] || '0';\n  return asNumber ? parseInt(value) : value;\n};\n","import { useMemo, useState } from 'react';\nimport { AttachedContent } from './BrandCarouselAttachedContent';\nimport cx from 'classnames';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport { GetHeightForWidthAndAspectRatio, overrideImageUrl } from '@dx-ui/osc-responsive-image';\nimport { getBreakpoint } from '../../utils/media-query';\nimport { useMediaQuery } from 'usehooks-ts';\nimport { CarouselSingle, generateCpmCarouselMetrics } from '@dx-ui/osc-carousel';\nimport type { BaseImageMetrics } from '@dx-ui/config-metrics';\n\nexport type BrandCarouselProps = {\n  items: AttachedContent[];\n  images: { alt: string; url: string; captionData?: CaptionProps; children?: React.ReactNode }[];\n  isFullScreen: boolean;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  alignContent?: CmsAlignContent;\n  onArrowClick?: (index: number) => void;\n};\n\n/**\n * Brand Carousel (formerly Image Carousel) utilizes the OSC-Carousel and adds optional attached text content to create a looped carousel, sadly Calliope music and horses are not included.\n */\nexport const BrandCarousel = ({\n  items,\n  isFullScreen,\n  images,\n  brandComponentTheme,\n  alignContent = 'center',\n  onArrowClick,\n}: BrandCarouselProps) => {\n  const [activeIndex, setActiveIndex] = useState(0);\n\n  const onNavigation = (index: number) => {\n    setActiveIndex(index);\n    onArrowClick?.(index);\n  };\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  const { headline, description, link, cmsTranslationClasses } = items[activeIndex] || {};\n\n  const isXL = useMediaQuery(`(min-width: ${getBreakpoint('xl')}px)`);\n  const isSmall = useMediaQuery(`(min-width: ${getBreakpoint('sm')}px)`);\n\n  const imageUrls = images.map((image) => {\n    const width = isXL ? 1500 : isSmall ? 1280 : 640;\n    const aspectRatio = isXL ? '21:9' : isSmall || !isFullScreen ? '3:2' : '1:1';\n\n    return {\n      url: overrideImageUrl(image.url, GetHeightForWidthAndAspectRatio(width, aspectRatio), width),\n      alt: image.alt,\n      captionData: image.captionData,\n      children: image.children ? image.children : null,\n    };\n  });\n\n  const metrics: Partial<BaseImageMetrics> = useMemo(\n    () => generateCpmCarouselMetrics(headline),\n    [headline]\n  );\n\n  return (\n    <div className=\"relative\">\n      {isFullScreen ? (\n        <div\n          data-testid=\"testBackgroundColorFull\"\n          className={cx(\n            {\n              'brand-ou:bg-secondary': !isDark && !isLight,\n              'bg-bg-dark': isDark,\n              'bg-bg-light': isLight,\n            },\n            cmsTranslationClasses\n          )}\n        >\n          <CarouselSingle\n            onArrowClick={onNavigation}\n            images={imageUrls}\n            className=\"!aspect-[1/1] sm:!aspect-[3/2] xl:!aspect-[21/9]\"\n            showAlternateControls={true}\n            metrics={metrics}\n          />\n          <div className=\"brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12\">\n            <AttachedContent\n              headline={headline}\n              description={description}\n              link={link}\n              alignContent={alignContent}\n              brandComponentTheme={brandComponentTheme}\n            />\n          </div>\n        </div>\n      ) : (\n        <div\n          data-testid=\"testBackgroundColor\"\n          className={cx('brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12', {\n            'brand-ou:bg-secondary': !isDark && !isLight,\n            'bg-bg-dark': isDark,\n            'bg-bg-light': isLight,\n          })}\n        >\n          {/* some brand will require className='rounded-lg' to display rounded corners, this is brand specfic */}\n          <CarouselSingle\n            onArrowClick={onNavigation}\n            images={imageUrls}\n            className=\"image-corner-radius xl:aspect-[21/9]\"\n            showAlternateControls={false}\n            metrics={metrics}\n          />\n          <div className=\"pt-8 xl:pt-12\">\n            <AttachedContent\n              headline={headline}\n              description={description}\n              link={link}\n              alignContent={alignContent}\n              brandComponentTheme={brandComponentTheme}\n            />\n          </div>\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default BrandCarousel;\n","export const extractInstanceIndexFromId = (id: string) => {\n  if (!id) {\n    return -1;\n  }\n  const dashIndex = id.lastIndexOf('-');\n  return parseInt(id.substring(dashIndex >= 0 ? dashIndex + 1 : 0), 10);\n};\n","import type { AttachedContent } from './BrandCarouselAttachedContent';\nimport cx from 'classnames';\n\ntype CarouselItem = AttachedContent & { $ref: string };\n\ninterface BrandCarouselEditorButtons {\n  isCPMEditor?: boolean;\n  items: CarouselItem[];\n  slideIndex: number;\n}\n\n/**\n * The BrandCarousel removes DOM nodes when the slide changes.\n * Bloomreach editor buttons don't update when this happens,\n * so we need to manually show/hide them based on the slide index.\n */\nexport function BrandCarouselEditorButtons({\n  isCPMEditor,\n  items,\n  slideIndex,\n}: BrandCarouselEditorButtons) {\n  // No need to render anything if we aren't in the editor\n  if (!isCPMEditor) {\n    return null;\n  }\n\n  return (\n    <div className=\"relative\">\n      <div\n        className=\"absolute -top-12 right-0 h-10 w-full\"\n        data-testid=\"BrandCarouselEditorButtons\"\n      >\n        {items.map((item, index) => {\n          if (item.cmsDocumentControl) {\n            return (\n              <div\n                key={item.$ref}\n                data-testid={`BrandCarouselEditorButton-${index}`}\n                className={cx('absolute top-0 size-10', {\n                  'right-0': index === slideIndex,\n                  'left-[-10000px]': index !== slideIndex,\n                })}\n              >\n                {item.cmsDocumentControl}\n              </div>\n            );\n          }\n          return null;\n        })}\n      </div>\n    </div>\n  );\n}\n","import cx from 'classnames';\n\ninterface ForTheStayOverlayProps {\n  overlayPosition: 'center' | 'left' | 'right';\n  count: number;\n}\n\nexport const ForTheStayOverlay = ({ overlayPosition, count }: ForTheStayOverlayProps) => {\n  return (\n    <div\n      data-testid=\"forTheStayOverlay\"\n      className={cx(\n        'pointer-events-none absolute top-1/2 w-40 -translate-y-1/2 overflow-hidden sm:w-60 md:w-80',\n        {\n          'inset-x-1/2 -translate-x-1/2': overlayPosition === 'center',\n          'start-16': overlayPosition === 'left' && count > 1,\n          'start-2': overlayPosition === 'left' && count === 1,\n          'end-16': overlayPosition === 'right' && count > 1,\n          'end-2': overlayPosition === 'right' && count === 1,\n        }\n      )}\n    >\n      <div className=\"h-24 w-full bg-[url('/modules/assets/img/brand/WW/backgrounds/for-the-stay.svg')] bg-contain bg-center bg-no-repeat\" />\n    </div>\n  );\n};\n","import type { Context } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { BrandSocialMediaLink, FeatureToggle, ShopAvailOptions } from '@dx-ui/gql-types';\nimport type { GetCompanyByAccountIdQuery } from './types/gql';\nimport type { MetricsInterface } from '@dx-ui/osc-brands-metrics';\n\nfunction makeContext<T>(name: string): [context: Context<T | undefined>, hook: () => T] {\n  const Context = createContext<T | undefined>(undefined);\n\n  return [\n    Context,\n    () => {\n      const value = useContext(Context);\n\n      if (value === undefined) {\n        throw new Error(\n          `${name} is undefined. This component can only be used in apps that are wrapped in ${name}Context`\n        );\n      }\n\n      return value;\n    },\n  ];\n}\n\nexport type FeatureToggles = Pick<FeatureToggle, 'name' | 'enabled' | 'cacheable'>[];\nexport const [FeatureTogglesContext, useFeatureToggles] =\n  makeContext<FeatureToggles>('FeatureToggles');\n\nexport type CorporateAccount = GetCompanyByAccountIdQuery | null;\nexport const [CorporateAccountContext, useCorporateAccount] =\n  makeContext<CorporateAccount>('CorporateAccount');\n\nexport type BrandData = {\n  code?: string | null | undefined;\n  name?: string | null | undefined;\n  isPartnerBrand?: boolean | null | undefined;\n  formalName?: string | null | undefined;\n  url?: string | null | undefined;\n  locationsUrl?: string | null | undefined;\n  socialMediaLinks?: Array<Pick<BrandSocialMediaLink, 'channel' | 'url'>>;\n  phone?: { number: string; friendlyNumber: string };\n  shopAvailOptions?: Pick<ShopAvailOptions, 'maxNumRooms'> | null;\n};\nexport const [BrandDataContext, useBrandData] = makeContext<BrandData>('BrandData');\n\nexport const [MetricsContext, useMetrics] = makeContext<MetricsInterface>('Metrics');\n","import {\n  CpmMappingError,\n  createCpmComponentDefinition,\n  useCreateManageContentButton,\n} from '@dx-ui/cpm-sdk';\nimport { useState } from 'react';\nimport type { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport { HeadingLevelProvider } from '@dx-ui/osc-heading-level';\nimport { BrandCarousel } from './BrandCarousel';\nimport { extractInstanceIndexFromId } from '../../utils';\n\nimport { BrandCarouselEditorButtons } from './BrandCarouselEditorButtons';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { ForTheStayOverlay } from './ForTheStayOverlay';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  'Carousel',\n\n  function mapData({ data, index, componentParams }) {\n    const asset = data.cpmAssets[0];\n\n    if (!asset) {\n      throw new CpmMappingError(`${data.displayName || data.name} is missing an image`);\n    }\n\n    return {\n      $ref: data.ref?.$ref,\n      id: data.id ?? '',\n      image: {\n        alt: asset.altText,\n        url: asset.aspectRatios['3x2']?.url ?? '',\n        captionData: asset.caption\n          ? {\n              captionLink: asset.captionLink ?? undefined,\n              caption: asset.caption ?? '',\n            }\n          : undefined,\n      },\n      headline: data.headline,\n      description: data.longDescription,\n      link: data.link?.url ? data.link : null,\n      links: data.links,\n      topHeadingLevel: calculateHeadingLevel(index, componentParams.topHeadingLevel),\n    };\n  },\n\n  function BrandCarouselCpm({\n    items = [],\n    listData,\n    componentParams,\n    mappedPage: { brandCode },\n    isCPMEditor,\n  }) {\n    const metrics = useMetrics();\n    const [slideIndex, setSlideIndex] = useState(0);\n    const { textAlign, noMargin } = componentParams;\n\n    const createManageContentButton = useCreateManageContentButton();\n\n    const id = listData?.id ?? '';\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    const onArrowClick = (newIndex: number) => {\n      setSlideIndex(newIndex);\n\n      if (metrics.trackCarouselNavigationClick) {\n        metrics.trackCarouselNavigationClick([\n          {\n            navigationClick: true,\n            carouselNumber: extractInstanceIndexFromId(id),\n            index: newIndex + 1,\n            totalDots: items.length,\n          },\n        ]);\n      }\n    };\n\n    const imageCount = items.length;\n    const images = items.map((item, index) => ({\n      ...item.image,\n      children:\n        index === 0 && componentParams.text === 'forTheStay' ? (\n          <ForTheStayOverlay\n            overlayPosition={componentParams.orientation ?? 'left'}\n            count={imageCount}\n          />\n        ) : null,\n    }));\n\n    return (\n      <HeadingLevelProvider level={itemsWithManageContentButton[slideIndex]?.topHeadingLevel}>\n        <BrandComponentThemeInline\n          brandCode={brandCode}\n          componentClassName=\"brandCarousel\"\n          componentParams={componentParams}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration,\n          }}\n        >\n          <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n            <BrandCarousel\n              items={itemsWithManageContentButton}\n              isFullScreen={noMargin}\n              images={images}\n              onArrowClick={onArrowClick}\n              alignContent={textAlign}\n              brandComponentTheme={componentParams.theme}\n            />\n          </AnimateRevealItem>\n          <BrandCarouselEditorButtons\n            isCPMEditor={isCPMEditor}\n            items={itemsWithManageContentButton}\n            slideIndex={slideIndex}\n          />\n        </BrandComponentThemeInline>\n      </HeadingLevelProvider>\n    );\n  }\n);\n\nexport function calculateHeadingLevel(index: number, headingLevel?: number) {\n  let level;\n\n  if (headingLevel === 1) {\n    if (index === 0) {\n      level = 1;\n    } else {\n      level = 2;\n    }\n  } else {\n    level = headingLevel;\n  }\n\n  return level as HeadingLevel;\n}\n","export { default } from './cpm-component-definition';\n","import { useCallback } from 'react';\nimport { BrandShowcase } from '@dx-ui/osc-marketing';\nimport { extractInstanceIndexFromId } from '../../utils/id-transformer';\nimport { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  'Brand Showcase',\n\n  function mapComponentData({ data }) {\n    const { documentBrandCode, name, shortDescription } = data;\n\n    return {\n      code: documentBrandCode,\n      name: name ?? '',\n      shortDescription,\n      label: data.link?.label ?? '',\n      url: data.link?.url ?? '',\n      filtered: false,\n    };\n  },\n\n  function BrandShowcaseCpm({ items = [], componentParams, listData, mappedPage: { brandCode } }) {\n    const metrics = useMetrics();\n    const id = listData?.id ?? '';\n\n    const onItemClicked = useCallback(\n      (index: number) => {\n        if (metrics) {\n          const { name } = items[index] ?? {};\n          metrics.trackBrandShowcaseClick?.([\n            {\n              brandShowcaseNumber: extractInstanceIndexFromId(id),\n              itemNumber: index + 1,\n              totalItems: items.length,\n              brandName: name ?? '',\n            },\n          ]);\n        }\n      },\n      [metrics, id, items]\n    );\n\n    if (!items.length) {\n      return null;\n    }\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <BrandShowcase\n          id={id}\n          onItemClicked={onItemClicked}\n          items={items}\n          /*these should be hard coded (according to dx-hotels-ui/src/components/brand-showcase/index.tsx)*/\n          logoUrl=\"/modules/assets/svgs/logos/brand\"\n          baseUrl=\"/en\"\n        />\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { YouTubeVideo } from '@dx-ui/osc-youtube-video';\nimport { CpmMappingError, createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\nexport default createCpmComponentDefinition(\n  'Brand Video',\n\n  function mapComponentData({ data }) {\n    const video = data.videos?.[0];\n\n    if (!video) {\n      throw new CpmMappingError(\n        `Brand Video requires a document has a video (${data.contentType} - ${data.displayName})`\n      );\n    }\n\n    return {\n      $ref: data.ref?.$ref,\n      id: data.id ?? '',\n      segmentIds: data.segmentIds,\n      experimentationConfiguration: data.experimentationConfiguration,\n      links: data.links,\n      name: data.name ?? undefined,\n      source: video?.source ?? '',\n      title: video?.name ?? '',\n      url: video?.url ?? '',\n    };\n  },\n\n  function BrandVideo({ items = [], componentParams, mappedPage: { brandCode } }) {\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    return (\n      <BrandComponentThemeInline\n        componentClassName=\"video\"\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <div className=\"brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12\">\n          <YouTubeVideo\n            name={data.name}\n            source={data.source}\n            title={data.title}\n            url={data.url}\n            wrapperClassName=\"lg:max-h-[90vh]\"\n            id={`yt${data.id}`}\n          />\n        </div>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","type GetAspectRatioUrlParams = {\n  /** Aspect ratio based URL from CMS */\n  src?: string | null;\n  /** Carousel container width */\n  width: number;\n};\n\nconst BREAK_POINTS = Object.freeze({\n  small: 640,\n  medium: 768,\n  large: 1024,\n  extraLarge: 1280,\n  twoExtraLarge: 1440,\n});\n\nexport type BreakPoints = keyof typeof BREAK_POINTS;\n\n/**\n * Returns a set of aspect ratio based URLs (with 2x and 3x options) bucketed by breakpoints\n * @param src Aspect ratio based URL from CMS\n * @param width desired image width\n * @returns imgUrl, twoXimgUrl, threeXImgUrl\n */\nexport const getAspectRatioUrl = ({ src, width }: GetAspectRatioUrlParams) => {\n  if (!src) return { imgUrl: null, twoXimgUrl: null, threeXImgUrl: null };\n\n  const srcUrl = new URLSearchParams(src);\n\n  const cw = srcUrl.has('cw') ? parseInt(srcUrl.get('cw') as string) : null;\n  const ch = srcUrl.has('ch') ? parseInt(srcUrl.get('ch') as string) : null;\n\n  // If a crop width or height is not present in the URL, return null as we cant do the math to return the appopriate img src. Contact the CMS team in case we see broken assets\n  if (!cw || !ch) return { imgUrl: null, twoXimgUrl: null, threeXImgUrl: null };\n\n  const aspectRatioVariants = Object.entries(BREAK_POINTS).reduce(\n    (accum, [breakPointName, breakPointWidth]) => {\n      const imgUrl = `${src}&rw=${breakPointWidth}&rh=${Math.round((breakPointWidth * ch) / cw)}`;\n\n      const twoXimgUrl = `${src}&rw=${breakPointWidth * 2}&rh=${\n        Math.round((breakPointWidth * ch) / cw) * 2\n      }`;\n\n      const threeXImgUrl = `${src}&rw=${breakPointWidth * 3}&rh=${\n        Math.round((breakPointWidth * ch) / cw) * 3\n      }`;\n\n      return { ...accum, [breakPointName]: { imgUrl, twoXimgUrl, threeXImgUrl } };\n    },\n    {} as Record<BreakPoints, { imgUrl: string; twoXimgUrl: string; threeXImgUrl: string }>\n  );\n\n  switch (true) {\n    case width <= BREAK_POINTS.small:\n      return aspectRatioVariants.small;\n\n    case width > BREAK_POINTS.small && width <= BREAK_POINTS.medium:\n      return aspectRatioVariants.medium;\n\n    case width > BREAK_POINTS.medium && width <= BREAK_POINTS.large:\n      return aspectRatioVariants.large;\n\n    case width > BREAK_POINTS.large && width <= BREAK_POINTS.extraLarge:\n      return aspectRatioVariants.extraLarge;\n\n    default:\n      return aspectRatioVariants.twoExtraLarge;\n  }\n};\n","export * from './lib/get-aspect-ratio-url';\n","import { ANALYTICS_NO_VALUE, ImageType, ImageFunction, ImageClickID } from '@dx-ui/config-metrics';\nimport type { CollageMetrics } from '../types/collage-analytics';\n\nexport const PRIMARY_CAPTION_POSITION = 1;\nexport const SECONDARY_CAPTION_POSITION = 2;\nexport const COLLAGE_ANALYTICS_COUNT = 2; // Number of images in the collage\n\ntype GenerateCollageMetricsParams = {\n  headline?: string;\n  itemTitle?: string;\n  position: number;\n};\n\nexport const generateCollageMetrics = ({\n  headline,\n  itemTitle,\n  position = 0,\n}: GenerateCollageMetricsParams): CollageMetrics => {\n  const CollageMetrics: CollageMetrics = {\n    click: {\n      clickID: ImageClickID.Img,\n    },\n    osc: {\n      image: {\n        headline: headline || ANALYTICS_NO_VALUE,\n        itemTitle: itemTitle || ANALYTICS_NO_VALUE,\n        position,\n        count: COLLAGE_ANALYTICS_COUNT,\n        type: ImageType.Collage,\n        function: ImageFunction.Link,\n      },\n    },\n  };\n\n  return CollageMetrics;\n};\n","import cx from 'classnames';\nimport Image from 'next/image';\n\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport {\n  ANALYTICS_GLOBAL_CLICK_EVENT,\n  clearImageAnalyticsData,\n  trackEvent,\n} from '@dx-ui/config-metrics';\nimport type { OmittedImageProps, PropertyThemeOptions } from './collage';\nimport type { Variant } from '@dx-ui/osc-brand-buttons';\nimport { generateCollageMetrics } from './utils/collage-analytics';\n\nexport type CollageContentProps = {\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /**\n   * To override default variant\n   */\n  brandLinkVariant?: Variant;\n  /**\n   * Text rendered in headline, approx 20 characters\n   */\n  headline?: string;\n  /**\n   * By default the collage is not animated\n   */\n  isAnimated?: boolean;\n  isInView?: boolean;\n  isDark?: boolean;\n  /**\n   * Controls the layout direction\n   */\n  isFlipped?: boolean;\n  isLight?: boolean;\n  /**\n   * JSON that configures how the cta is rendered, label - approx 20 characters\n   */\n  link?: {\n    url?: string;\n    label?: string;\n    adaDescription?: string;\n    isNewWindow?: boolean;\n    experimentationConfiguration?: CmsExperimentationConfiguration;\n  };\n  /**\n   * Logo above text content\n   */\n  logo?: OmittedImageProps;\n  /**\n   * Text rendered in copy paragraph, approx 300 characters\n   */\n  longDescription?: string;\n  /**\n   * Text rendered in copy paragraph\n   */\n  shortDescription?: string;\n  /**\n   * Applies property theming\n   */\n  propertyTheme?: PropertyThemeOptions;\n};\n\nexport const CollageContent = ({\n  isFlipped,\n  isDark,\n  isLight,\n  isInView,\n  isAnimated,\n  logo,\n  headline,\n  longDescription,\n  brandComponentTheme,\n  brandLinkVariant,\n  shortDescription,\n  link,\n  propertyTheme,\n}: CollageContentProps) => {\n  return (\n    <div\n      data-testid=\"testBoxBgColor\"\n      className={cx(\n        'flex flex-col p-4 md:p-8 lg:min-w-[400px] xl:py-24',\n        isFlipped ? 'lg:pe-12 lg:ps-28 xl:pe-20 xl:ps-44' : 'lg:pe-28 lg:ps-12 xl:pe-32 xl:ps-24',\n        {\n          'bg-bg': !isDark && !isLight,\n          'brand-ol:bg-primary': isDark,\n          'brand-ol:bg-bg-light': isLight,\n        },\n        propertyTheme?.base\n      )}\n    >\n      {logo ? (\n        <div className=\"relative flex aspect-[3/2] max-h-40\">\n          <Image\n            className={cx('object-contain', {\n              'opacity-100': isInView && isAnimated,\n              'duration-1000 ease-in-out transition-all motion-reduce:transition-none opacity-0 motion-reduce:opacity-100':\n                isAnimated,\n            })}\n            data-testid=\"collageLogo\"\n            fill\n            src={logo.imageUrl}\n            alt={logo.altText}\n          />\n        </div>\n      ) : null}\n\n      {headline ? (\n        <HeadingLevel\n          headingLevelFallback={2}\n          className={cx(\n            'heading-2xl lg:heading-4xl start-10 my-2 motion-reduce:translate-y-2 lg:mb-2',\n            {\n              'delay-75 opacity-100 translate-y-2': isInView && isAnimated,\n              'translate-y-4': !isInView && isAnimated,\n              'duration-1000 ease-in-out transition-all motion-reduce:transition-none opacity-0 motion-reduce:opacity-100':\n                isAnimated,\n              '!text-text-inverse': isDark,\n              'brand-ht:!text-text-inverse': isLight,\n            }\n          )}\n        >\n          {headline}\n        </HeadingLevel>\n      ) : null}\n\n      {longDescription ? (\n        <BrandTextBody\n          className={cx('my-2 motion-reduce:translate-y-0', {\n            'delay-200 translate-y-0 opacity-100': isInView && isAnimated,\n            'translate-y-4': !isInView && isAnimated,\n            'duration-1000 ease-in-out transition-all motion-reduce:transition-none opacity-0 motion-reduce:opacity-100':\n              isAnimated,\n            'text-text-inverse': isDark,\n            'brand-ht:!text-text-inverse': isLight,\n          })}\n          brandComponentTheme={brandComponentTheme}\n        >\n          {longDescription}\n        </BrandTextBody>\n      ) : null}\n\n      {shortDescription ? (\n        <BrandTextBody\n          className={cx('my-2 text-base motion-reduce:translate-y-0', {\n            '!text-base': propertyTheme,\n            'delay-300 translate-y-0 opacity-100': isInView && isAnimated,\n            'translate-y-4': !isInView && isAnimated,\n            'duration-1000 ease-in-out transition-all motion-reduce:transition-none opacity-0 motion-reduce:opacity-100':\n              isAnimated,\n            'text-text-inverse': isDark,\n            'brand-ht:!text-text-inverse': isLight,\n          })}\n          brandComponentTheme={brandComponentTheme}\n        >\n          {shortDescription}\n        </BrandTextBody>\n      ) : null}\n\n      {link?.label && link?.url ? (\n        <div\n          className={cx({\n            'delay-500 translate-y-0 opacity-100': isInView && isAnimated,\n            'translate-y-4': !isInView && isAnimated,\n            'duration-1000 ease-in-out transition-all motion-reduce:transition-none opacity-0 motion-reduce:opacity-100':\n              isAnimated,\n          })}\n        >\n          <BrandLink\n            data-testid=\"collageCtaButton\"\n            url={link.url}\n            label={link.label}\n            isNewWindow={link.isNewWindow}\n            showNewWindowIcon={link.isNewWindow}\n            brandComponentTheme={brandComponentTheme}\n            data-conductrics-goal={link.experimentationConfiguration?.goal}\n            data-conductrics-value={link.experimentationConfiguration?.value}\n            variant={brandLinkVariant}\n            onClick={() => clearImageAnalyticsData()}\n            metricsOnClick={() =>\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generateCollageMetrics({\n                  headline,\n                  itemTitle: link?.label,\n                  position: 1,\n                })\n              )\n            }\n          />\n        </div>\n      ) : null}\n    </div>\n  );\n};\n","import Image from 'next/image';\nimport cx from 'classnames';\n\nimport { getAspectRatioUrl } from '@dx-ui/utilities-images';\nimport { Caption } from '@dx-ui/osc-caption';\nimport { GetHeightForWidthAndAspectRatio } from '@dx-ui/osc-responsive-image';\n\nimport type { CaptionProps } from '@dx-ui/osc-caption';\n\ntype CollageDesktopImageProps = {\n  altText: string;\n  aspectRatio: '1:1' | '16:9';\n  imageUrl: string;\n  width: number;\n  captionData?: CaptionProps;\n  className?: string;\n  headline?: string;\n  onClick?: () => void;\n};\n\nexport const CollageDesktopImage = ({\n  altText,\n  aspectRatio = '1:1',\n  captionData,\n  className,\n  imageUrl,\n  onClick,\n  width,\n}: CollageDesktopImageProps) => {\n  if (!imageUrl) return null;\n\n  const imageWithRatioUrl = getAspectRatioUrl({ src: imageUrl, width }).twoXimgUrl || '';\n  const isPrimaryImageRatio = aspectRatio === '1:1';\n\n  return (\n    <figure className={className}>\n      <Image\n        alt={altText}\n        src={imageWithRatioUrl}\n        width={width}\n        className={cx('object-cover', isPrimaryImageRatio ? 'aspect-square' : 'aspect-video')}\n        height={GetHeightForWidthAndAspectRatio(width, aspectRatio)}\n      />\n      {captionData ? <Caption {...captionData} metricsOnClick={onClick} /> : null}\n    </figure>\n  );\n};\n","import cx from 'classnames';\nimport { Parallax } from 'react-scroll-parallax';\nimport type { TResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { useWindowSize, useIntersectionObserver } from 'usehooks-ts';\nimport { getIsReducedMotion } from '@dx-ui/utilities-accessibility';\nimport { type CarouselImages, CarouselSingle } from '@dx-ui/osc-carousel';\nimport { useCallback, useRef } from 'react';\nimport { getAspectRatioUrl } from '@dx-ui/utilities-images';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport { CollageContent, type CollageContentProps } from './collage-content';\nimport { ANALYTICS_GLOBAL_CLICK_EVENT, trackEvent } from '@dx-ui/config-metrics';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport { CollageDesktopImage } from './collage-desktop-image';\nimport {\n  generateCollageMetrics,\n  PRIMARY_CAPTION_POSITION,\n  SECONDARY_CAPTION_POSITION,\n} from './utils/collage-analytics';\nexport type OmittedImageProps = Omit<TResponsiveImage, 'aspectRatio' | 'width'>;\n\nexport type PropertyThemeOptions = {\n  base: string;\n  accent?: {\n    border?: boolean;\n    heading?: boolean;\n    hover?: boolean;\n    icon?: boolean;\n  };\n  additionalThemeOptions?: Record<string, unknown>;\n  childTheme?: {\n    base: string;\n  } & Omit<PropertyThemeOptions, 'childTheme'>;\n};\n\n/**\n * Collage Props\n *\n * CollageProps extends the CollageContentProps, which is where the majority of the\n * props for this component are defined.\n */\nexport type CollageProps = Omit<CollageContentProps, 'isInView' | 'isDark' | 'isLight'> & {\n  /**\n   * JSON that configures how the images are rendered\n   */\n  primaryImage: OmittedImageProps;\n  primaryCaptionData?: CaptionProps;\n  secondaryImage: OmittedImageProps;\n  secondaryCaptionData?: CaptionProps;\n  speed?: number;\n  /**\n   * CMS document editor button\n   */\n  cmsDocumentControl?: React.ReactNode;\n  /**\n   * Translation CSS classes to add to each collage item\n   */\n  cmsTranslationClasses?: string;\n  /**\n   * Primary and secondary images used in carousel for mobile view.\n   */\n  carouselImages: CarouselImages[];\n  /**\n   * Image carousel styling for tailored properties.\n   */\n  showAlternateControls?: boolean;\n  /**\n   * Applies styling to carousel for tailored properties\n   */\n  isTailored?: boolean;\n  /**\n   * Applies property theming\n   */\n  propertyTheme?: PropertyThemeOptions;\n};\n\n/**\n * The collage component is a collage of two images with additional content. There is a main image with a smaller image offset to the lower left or right corner\n * and content that can be flipped from left to right of the main image. On mobile the collage appears as a carousel with two images (primary and secondary) with additional content above it.\n */\nexport const Collage: React.FC<CollageProps> = ({\n  brandComponentTheme,\n  brandLinkVariant,\n  logo,\n  headline,\n  shortDescription,\n  longDescription,\n  link,\n  primaryImage,\n  primaryCaptionData,\n  secondaryImage,\n  secondaryCaptionData,\n  isFlipped = false,\n  isTailored = false,\n  speed = -10,\n  isAnimated = false,\n  cmsDocumentControl,\n  cmsTranslationClasses,\n  carouselImages,\n  showAlternateControls = false,\n  propertyTheme,\n}) => {\n  const { ref: intersectionRef, isIntersecting: inView } = useIntersectionObserver({\n    threshold: [0.15],\n    freezeOnceVisible: true,\n  });\n  const primaryImageRef = useRef<HTMLDivElement>(null);\n  const secondaryImageRef = useRef<HTMLDivElement>(null);\n  const primaryImageRect = useRect({ ref: primaryImageRef });\n  const primaryImageWidth = primaryImageRect?.width ?? 0;\n  const secondaryImageRect = useRect({ ref: secondaryImageRef });\n  const secondaryImageWidth = secondaryImageRect?.width ?? 0;\n\n  const { width: screenWidth = 0 } = useWindowSize();\n\n  const observedWrapper = !getIsReducedMotion() && isAnimated ? intersectionRef : null;\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  const optimizedCarouselImages = useCallback(() => {\n    return carouselImages?.map((img) => ({\n      alt: img?.alt || '',\n      url:\n        getAspectRatioUrl({\n          src: img?.url || '',\n          width: screenWidth,\n        })?.twoXimgUrl || '',\n    }));\n  }, [carouselImages, screenWidth]);\n\n  const handlePrimaryCaptionClick = () =>\n    primaryCaptionData\n      ? trackEvent(\n          ANALYTICS_GLOBAL_CLICK_EVENT,\n          generateCollageMetrics({\n            headline,\n            position: PRIMARY_CAPTION_POSITION,\n            itemTitle: primaryCaptionData?.caption,\n          })\n        )\n      : undefined;\n\n  return (\n    <section\n      className={cx(\n        'brand-wa:py-16 brand-wa:xl:py-20 flex items-center py-8 lg:container xl:py-12',\n        cmsTranslationClasses,\n        {\n          'bg-bg-dark brand-ol:bg-bg': isDark,\n          'bg-bg-light brand-ol:bg-bg': isLight,\n          'lg:py-20 lg:overflow-hidden': isAnimated,\n        }\n      )}\n      data-testid=\"collageContainer\"\n    >\n      {isFlipped ? (\n        <div className=\"relative hidden grow lg:-me-20 lg:block lg:w-5/12\" ref={primaryImageRef}>\n          <Parallax speed={speed} disabled={!isAnimated}>\n            <CollageDesktopImage\n              altText={primaryImage.altText}\n              aspectRatio=\"1:1\"\n              captionData={primaryCaptionData}\n              imageUrl={primaryImage.imageUrl}\n              onClick={handlePrimaryCaptionClick}\n              width={primaryImageWidth}\n            />\n          </Parallax>\n        </div>\n      ) : null}\n      <div className={cx('flex flex-col items-end lg:w-6/12 ', { 'lg:-me-20': !isFlipped })}>\n        <div\n          ref={observedWrapper}\n          className={cx('grow px-8 pb-8 lg:p-0', isFlipped ? 'lg:me-10' : 'lg:ms-10')}\n          data-testid=\"content-container\"\n        >\n          <CollageContent\n            brandComponentTheme={brandComponentTheme}\n            brandLinkVariant={brandLinkVariant}\n            headline={headline}\n            isInView={inView}\n            isAnimated={isAnimated}\n            isDark={isDark}\n            isFlipped={isFlipped}\n            isLight={isLight}\n            link={link}\n            logo={logo}\n            longDescription={longDescription}\n            shortDescription={shortDescription}\n            propertyTheme={propertyTheme}\n          />\n        </div>\n        <div\n          className={cx(\n            'relative z-20 hidden w-full border-8 shadow-xl lg:block',\n            propertyTheme?.accent?.border ? 'accent-border' : 'border-bg'\n          )}\n          ref={secondaryImageRef}\n        >\n          <CollageDesktopImage\n            altText={secondaryImage.altText}\n            aspectRatio=\"16:9\"\n            captionData={secondaryCaptionData}\n            imageUrl={secondaryImage.imageUrl}\n            onClick={() =>\n              secondaryCaptionData\n                ? trackEvent(\n                    ANALYTICS_GLOBAL_CLICK_EVENT,\n                    generateCollageMetrics({\n                      headline,\n                      position: SECONDARY_CAPTION_POSITION,\n                      itemTitle: secondaryCaptionData?.caption,\n                    })\n                  )\n                : undefined\n            }\n            width={secondaryImageWidth}\n          />\n        </div>\n        <div className=\"w-full lg:hidden\">\n          <CarouselSingle\n            images={optimizedCarouselImages()}\n            showAlternateControls={showAlternateControls}\n            isTailored={isTailored}\n          />\n        </div>\n      </div>\n      {!isFlipped ? (\n        <div className=\"hidden grow lg:block lg:w-5/12\" ref={primaryImageRef}>\n          <Parallax speed={speed} disabled={!isAnimated}>\n            <CollageDesktopImage\n              altText={primaryImage.altText}\n              aspectRatio=\"1:1\"\n              captionData={primaryCaptionData}\n              imageUrl={primaryImage.imageUrl}\n              onClick={handlePrimaryCaptionClick}\n              width={primaryImageWidth}\n            />\n          </Parallax>\n        </div>\n      ) : null}\n      {cmsDocumentControl}\n    </section>\n  );\n};\n\nexport default Collage;\n","export * from './collage';\n","export * from './lib';\n","import {\n  type AssetVariants,\n  type StructuredAsset,\n  createCpmComponentDefinition,\n  useCreateManageContentButton,\n  selectFirstAssetWithAspectRatio,\n  selectLastAssetWithAspectRatio,\n  CpmMappingError,\n} from '@dx-ui/cpm-sdk';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { Collage } from '@dx-ui/osc-collage';\nimport type { CarouselImages } from '@dx-ui/osc-carousel';\n\nexport function getIsFlipped(\n  index: number,\n  imageDisplay: 'left' | 'right' | 'alternate' | 'round' | 'none'\n) {\n  switch (imageDisplay) {\n    case 'left':\n      return true;\n\n    case 'right':\n      return false;\n\n    case 'alternate':\n    default:\n      return Boolean(index % 2);\n  }\n}\n\nexport default createCpmComponentDefinition(\n  'Collage',\n\n  function mapData({ data, componentParams: { imageDisplay, animation }, index }) {\n    function constructImage(asset: StructuredAsset | null, aspectRatio: keyof AssetVariants) {\n      if (asset === null) {\n        return null;\n      }\n\n      return {\n        size: 'md',\n        __typename: 'BrandImageVariant',\n        _id: asset?.aspectRatios[aspectRatio]?.id ?? '',\n        url: asset?.aspectRatios[aspectRatio]?.url ?? '',\n        imageUrl: asset?.aspectRatios[aspectRatio]?.url ?? '',\n        altText: asset?.altText ?? '',\n      };\n    }\n\n    const primaryImage = constructImage(\n      selectLastAssetWithAspectRatio('1x1', data.cpmAssets),\n      '1x1'\n    );\n\n    const secondaryImage = constructImage(\n      selectFirstAssetWithAspectRatio('16x9', data.cpmAssets),\n      '16x9'\n    );\n\n    const primaryImageThreeByTwo = constructImage(\n      selectLastAssetWithAspectRatio('3x2', data.cpmAssets),\n      '3x2'\n    );\n\n    const secondaryImageThreeByTwo = constructImage(\n      selectFirstAssetWithAspectRatio('3x2', data.cpmAssets),\n      '3x2'\n    );\n\n    const primaryCaptionAsset = data.cpmAssets[1];\n\n    const secondaryCaptionAsset = data.cpmAssets[0];\n\n    const carouselImages = [\n      { ...primaryImageThreeByTwo, ...primaryCaptionAsset },\n      { ...secondaryImageThreeByTwo, ...secondaryCaptionAsset },\n    ].map((image) => {\n      return {\n        alt: image?.altText,\n        url: image?.imageUrl,\n        captionData: {\n          ...(image.caption && {\n            caption: image.caption,\n          }),\n          ...(image.captionLink && {\n            captionLink: image?.captionLink,\n          }),\n        },\n      };\n    }) as CarouselImages[];\n\n    if (!(primaryImage && secondaryImage)) {\n      throw new CpmMappingError(\n        `The \"${\n          data.displayName || data.name\n        }\" document is missing two images with the Collage image variant`\n      );\n    }\n\n    if (!primaryImage) {\n      throw new CpmMappingError(\n        `The \"${\n          data.displayName || data.name\n        }\" document is missing a Collage image variant for the desktop screensize image`\n      );\n    }\n\n    if (!primaryImageThreeByTwo) {\n      throw new CpmMappingError(\n        `The \"${\n          data.displayName || data.name\n        }\" document is missing a ThreeByTwo image variant for the mobile screensize image`\n      );\n    }\n\n    const isFlipped = getIsFlipped(index, imageDisplay);\n\n    return {\n      id: data.id,\n      shortDescription: data.shortDescription,\n      headline: data.headline,\n      primaryImage,\n      secondaryImage,\n      longDescription: data.longDescription ?? '',\n      logo: undefined,\n      isFlipped,\n      link:\n        data.link?.url && data.link?.label ? { ...data.link, text: data.link.label } : undefined,\n      ...(data.logoUrl\n        ? {\n            logo: {\n              altText: '',\n              imageUrl: data.logoUrl ?? '',\n            },\n          }\n        : null),\n\n      primaryCaptionData: primaryCaptionAsset\n        ? {\n            captionLink: primaryCaptionAsset?.captionLink,\n            caption: primaryCaptionAsset?.caption,\n          }\n        : {},\n      secondaryCaptionData: secondaryCaptionAsset\n        ? {\n            captionLink: secondaryCaptionAsset?.captionLink,\n            caption: secondaryCaptionAsset?.caption,\n          }\n        : {},\n      isAnimated: animation,\n      links: data.links,\n      carouselImages,\n    };\n  },\n\n  function CollageCpm({ items = [], componentParams, mappedPage: { brandCode } }) {\n    const createManageContentButton = useCreateManageContentButton();\n\n    if (items.length === 0) {\n      return null;\n    }\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    return (\n      <BrandComponentThemeInline\n        componentClassName=\"collage\"\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        {itemsWithManageContentButton.map((item) => {\n          return (\n            <Collage\n              key={item.id}\n              {...item}\n              isAnimated={componentParams.animation || brandCode === 'GU'}\n              brandComponentTheme={componentParams.theme}\n            />\n          );\n        })}\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { Link } from '@dx-ui/osc-link';\nimport type { Link as LinkType } from '@dx-ui/osc-link';\nimport { Icon } from '@dx-ui/osc-icon';\nimport type { IconNames } from '@dx-ui/osc-icon';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport Image from 'next/image';\nimport cx from 'classnames';\n\ntype EditorialSnippetType = {\n  heading: string;\n  longDescription: string;\n  shortDescription?: string;\n  socialMediaLink?: LinkType;\n  socialMediaIcon?: (typeof IconNames)[number];\n  ctaLink?: LinkType & { experimentationConfiguration?: CmsExperimentationConfiguration };\n  image?: {\n    url?: string;\n    altText?: string;\n  };\n  /** Image is round by default, CMS can select for square image */\n  isSquareImage?: boolean;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport const EditorialSnippet = ({\n  heading,\n  longDescription,\n  shortDescription,\n  socialMediaLink,\n  socialMediaIcon,\n  ctaLink,\n  image,\n  isSquareImage,\n  brandComponentTheme,\n}: EditorialSnippetType) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div className=\"brand-wa:py-16 brand-wa:xl:py-20 container relative py-8 xl:py-12\">\n      <div\n        className={cx('editorial-snippet-bg lg:px-16', {\n          'editorial-snippet-bg-dark': isDark,\n          'editorial-snippet-bg-light': isLight,\n        })}\n        data-testid=\"testContainerBackgroundCss\"\n      >\n        <div\n          className={cx('relative flex flex-col justify-center sm:self-center', {\n            'sm:ps-52': image?.url,\n          })}\n        >\n          <hgroup>\n            <h2\n              className={cx('heading-xl sm:heading-2xl lg:heading-3xl flex-col', {\n                '!text-text-inverse': isDark,\n                'editorial-snippet-headline-light': isLight,\n              })}\n            >\n              {heading}\n            </h2>\n            {shortDescription ? (\n              <BrandTextBody\n                className={cx(\n                  'editorial-snippet-short-description lg:editorial-snippet-short-description-lg',\n                  {\n                    'editorial-snippet-short-description-dark': isDark,\n                    'editorial-snippet-short-description-light': isLight,\n                  }\n                )}\n                brandComponentTheme={brandComponentTheme}\n              >\n                {shortDescription}\n              </BrandTextBody>\n            ) : null}\n          </hgroup>\n\n          <BrandTextBody\n            className={cx('text-text text-base font-normal lg:!text-lg', {\n              'text-text-inverse': isDark,\n              'editorial-snippet-text-body-light': isLight,\n            })}\n            brandComponentTheme={brandComponentTheme}\n          >\n            {longDescription}\n          </BrandTextBody>\n\n          {image?.altText && image?.url ? (\n            <div className=\"relative order-first mb-6 aspect-square h-44 max-h-full max-w-44 sm:absolute sm:start-0 sm:top-0 sm:mb-0\">\n              <Image\n                alt={image?.altText}\n                src={image?.url}\n                className={cx('rounded-full object-cover', {\n                  'rounded-none image-corner-radius': isSquareImage === true,\n                })}\n                fill\n                unoptimized\n              />\n            </div>\n          ) : null}\n\n          <div>\n            {socialMediaLink?.url ? (\n              <Link\n                isNewWindow={true}\n                url={socialMediaLink?.url}\n                showNewWindowIcon={true}\n                underline={false}\n                className={cx(\n                  'editorial-snippet-link inline-block items-baseline pb-4 pe-7 sm:pb-0',\n                  {\n                    'editorial-snippet-link-dark': isDark,\n                    'editorial-snippet-link-light': isLight,\n                  }\n                )}\n              >\n                {socialMediaIcon ? (\n                  <div className=\"inline-block pe-1.5\">\n                    <Icon name={socialMediaIcon} size=\"lg\" className=\"-mb-2 me-1\" />\n                  </div>\n                ) : null}\n\n                <div className=\"inline pe-1 align-baseline underline underline-offset-4\">\n                  {socialMediaLink?.label}\n                </div>\n              </Link>\n            ) : null}\n\n            {ctaLink?.url ? (\n              <Link\n                isNewWindow={ctaLink?.isNewWindow || false}\n                url={ctaLink?.url}\n                showNewWindowIcon={ctaLink?.isNewWindow || false}\n                underline={false}\n                className={cx('editorial-snippet-link items-baseline', {\n                  'editorial-snippet-link-dark': isDark,\n                  'editorial-snippet-link-light': isLight,\n                })}\n                data-conductrics-goal={ctaLink.experimentationConfiguration?.goal}\n                data-conductrics-value={ctaLink.experimentationConfiguration?.value}\n              >\n                <div className=\"inline pe-1 underline underline-offset-4\">{ctaLink?.label}</div>\n              </Link>\n            ) : null}\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default EditorialSnippet;\n","export * from './editorial-snippet';\n","export * from './lib';\n","import {\n  type ImageClickIDType,\n  ANALYTICS_NO_VALUE,\n  ImageType,\n  ImageFunction,\n  ImageClickID,\n} from '@dx-ui/config-metrics';\nimport type { CardCarouselMetrics } from '../types/card-carousel-analytics';\n\ntype GenerateCardCarouselMetricsParams = {\n  headline?: string;\n  position: number;\n  count: number;\n  itemTitle?: string;\n  clickID: ImageClickIDType;\n  imageFunction?: (typeof ImageFunction)['Link'];\n};\n\nexport const generateCardCarouselMetrics = ({\n  headline = ANALYTICS_NO_VALUE,\n  position = 0,\n  count,\n  itemTitle = ANALYTICS_NO_VALUE,\n  clickID = ImageClickID.Scroll,\n  imageFunction,\n}: GenerateCardCarouselMetricsParams): CardCarouselMetrics => {\n  const cardCarouselMetrics: CardCarouselMetrics = {\n    click: {\n      clickID, // This should be scroll for button clicks & img on img taps\n    },\n    osc: {\n      image: {\n        headline,\n        count,\n        position,\n        itemTitle,\n        type: ImageType.Carousel,\n      },\n    },\n  };\n\n  if (imageFunction === ImageFunction.Link) {\n    cardCarouselMetrics.osc.image.function = ImageFunction.Link;\n  }\n\n  return cardCarouselMetrics;\n};\n","import { useRef, type ReactNode } from 'react';\nimport cx from 'classnames';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport { ResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport type { AspectRatio, TResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { Link } from '@dx-ui/osc-link';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport {\n  ANALYTICS_GLOBAL_CLICK_EVENT,\n  ANALYTICS_NO_VALUE,\n  ImageClickID,\n  ImageFunction,\n  trackEvent,\n} from '@dx-ui/config-metrics';\nimport { generateCardCarouselMetrics } from './utils/card-carousel-analytics';\n\nexport type TCardCarouselItem = {\n  /** Card Carousel item id */\n  id: string;\n  /** Image for Card Carousel Item */\n  imageUrl: string;\n  captionData?: TResponsiveImage['captionData'];\n  /** Alt Text for Card Carousel Item Image */\n  imageAltTxt: string;\n  /** Headline for Card Carousel Item */\n  headline?: string;\n  /** Can be used as additional headline copy or a subheadline */\n  shortDescription?: string;\n  /** Content */\n  longDescription?: string;\n  /** Link/CTA */\n  link?: Link & { experimentationConfiguration?: CmsExperimentationConfiguration };\n  /** List of Audience Ids */\n  segmentIds: string[];\n  /** CMS document editor control **/\n  cmsDocumentControl?: ReactNode;\n  /* Translation CSS classes to add to each item */\n  cmsTranslationClasses?: string;\n  /** Adds ability to select color themes */\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /** The aspect ratio for the grid item images */\n  imageAspectRatio: AspectRatio;\n  /** Used to determine different styles for within editorial component */\n  isEditorialComponent?: boolean;\n  /** CurrentCard Index + 1 */\n  currentCard?: number;\n  /** Total number of cards in Card Carousel */\n  totalCards?: number;\n  /** Adds a second, smaller border inside the other border */\n  isInsideBorder?: boolean;\n  /** Sets the tab index for the cards, A11y helper */\n  tabIndex?: number;\n  mainHeadline?: string;\n};\n\nexport const DocsTCardCarouselItem: React.FC<React.PropsWithChildren<TCardCarouselItem>> = () =>\n  null;\n\nexport const CardCarouselItem: React.FC<TCardCarouselItem> = (item) => {\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n\n  const {\n    id,\n    imageUrl,\n    captionData,\n    imageAltTxt,\n    imageAspectRatio,\n    headline,\n    shortDescription,\n    longDescription,\n    link,\n    brandComponentTheme,\n    isEditorialComponent,\n    isInsideBorder,\n    currentCard,\n    totalCards,\n    tabIndex,\n    mainHeadline,\n  } = item;\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  const handleTrackCardCarouselItemMetrics = () => {\n    trackEvent(\n      ANALYTICS_GLOBAL_CLICK_EVENT,\n      generateCardCarouselMetrics({\n        itemTitle: headline ?? ANALYTICS_NO_VALUE,\n        headline: mainHeadline ?? ANALYTICS_NO_VALUE,\n        position: currentCard ?? 0,\n        count: totalCards ?? 0,\n        clickID: ImageClickID.Img,\n        imageFunction: ImageFunction.Link,\n      })\n    );\n  };\n\n  return item ? (\n    <div\n      className={cx(\n        'relative flex h-full flex-col justify-between bg-transparent',\n        item.cmsTranslationClasses,\n        'card-carousel-item-container',\n        {\n          'card-carousel-item-container-dark': isDark,\n          'p-2 sm:p-4 border-brand border-solid border': isInsideBorder,\n        }\n      )}\n      data-testid={`card-carousel-item-${id}`}\n      key={id}\n    >\n      <div className=\"flex flex-col\">\n        {(headline || shortDescription) && isEditorialComponent ? (\n          <hgroup>\n            <HeadingLevel\n              headingLevelFallback={4}\n              className={cx('heading-2xl', {\n                '!text-text-inverse': isDark,\n                'card-carousel-item-headline-text-light': isLight,\n                'pb-2': !shortDescription,\n              })}\n            >\n              {headline}\n            </HeadingLevel>\n            {shortDescription ? (\n              <BrandTextBody\n                className={cx('relative pt-3 !text-base font-bold', {\n                  '!text-text-inverse': isDark,\n                  'card-carousel-item-description-text-light': isLight,\n                })}\n                brandComponentTheme={brandComponentTheme}\n              >\n                {shortDescription}\n              </BrandTextBody>\n            ) : null}\n          </hgroup>\n        ) : null}\n\n        {(headline || shortDescription) && !isEditorialComponent ? (\n          <hgroup>\n            <HeadingLevel\n              headingLevelFallback={3}\n              className={cx('heading-2xl sm:brand-wa:heading-3xl', {\n                '!text-text-inverse': isDark,\n                'card-carousel-item-headline-text-light': isLight,\n                'pb-2': !shortDescription,\n              })}\n            >\n              {headline}\n            </HeadingLevel>\n            {shortDescription ? (\n              <BrandTextBody\n                className={cx('relative pt-3 !text-base font-bold', {\n                  '!text-text-inverse': isDark,\n                  'card-carousel-item-description-text-light': isLight,\n                })}\n                brandComponentTheme={brandComponentTheme}\n              >\n                {shortDescription}\n              </BrandTextBody>\n            ) : null}\n          </hgroup>\n        ) : null}\n\n        <div ref={ref} className=\"relative order-first mb-3\">\n          <ResponsiveImage\n            id={`card-carousel-item-img-${id}`}\n            aspectRatio={imageAspectRatio}\n            imageUrl={imageUrl}\n            altText={imageAltTxt}\n            width={rect?.width ?? 0}\n            captionData={captionData}\n            className=\"image-corner-radius\"\n            onClick={handleTrackCardCarouselItemMetrics}\n          />\n          <p\n            aria-hidden\n            className=\"bg-bg-inverse text-text-inverse absolute bottom-0 right-0 select-none overflow-hidden px-2 py-1 text-sm opacity-80 sm:text-base rtl:left-0 rtl:right-auto\"\n          >\n            {currentCard} / {totalCards}\n          </p>\n        </div>\n\n        {longDescription ? (\n          <BrandTextBody\n            className={cx('relative z-10 mb-2 !text-lg', {\n              '!text-text-inverse': isDark,\n              'card-carousel-item-description-text-light': isLight,\n            })}\n            brandComponentTheme={brandComponentTheme}\n          >\n            {longDescription}\n          </BrandTextBody>\n        ) : null}\n      </div>\n      <div>\n        {link ? (\n          <Link\n            className=\"text-base\"\n            isNewWindow={link.isNewWindow}\n            url={link.url}\n            showNewWindowIcon={true}\n            underline={true}\n            data-testid=\"testLinkTheme\"\n            tabIndex={tabIndex}\n            anchorClassName={cx(\n              \"focus:text-primary-alt hover:text-primary-alt after:absolute after:inset-0 after:z-0 after:content-[''] hover:underline hover:decoration-[3px] focus:underline focus:decoration-[3px] focus:!shadow-none\",\n              {\n                'text-primary': !isDark && !isLight,\n                'text-text-inverse hover:text-text-inverse focus:text-text-inverse hover:decoration-text-inverse focus:decoration-text-inverse':\n                  isDark,\n                'card-carousel-item-link-anchor-light': isLight,\n              }\n            )}\n            data-conductrics-goal={link.experimentationConfiguration?.goal}\n            data-conductrics-value={link.experimentationConfiguration?.value}\n            onClick={handleTrackCardCarouselItemMetrics}\n          >\n            {link.label}\n          </Link>\n        ) : null}\n      </div>\n\n      {item.cmsDocumentControl}\n    </div>\n  ) : null;\n};\n\nexport default CardCarouselItem;\n","import { useState, useRef, useCallback, useId } from 'react';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport { useTranslation } from 'next-i18next';\nimport cx from 'classnames';\n\nimport CardCarouselItem from './card-carousel-item';\nimport type { TCardCarouselItem } from './card-carousel-item';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport Icon from '@dx-ui/osc-icon';\nimport { isRtl as isRtlUtil } from '@dx-ui/utilities-get-language-direction';\nimport { HeadingLevel, HeadingLevelProvider } from '@dx-ui/osc-heading-level';\nimport { generateCardCarouselMetrics } from './utils/card-carousel-analytics';\nimport { ANALYTICS_GLOBAL_CLICK_EVENT, ImageClickID, trackEvent } from '@dx-ui/config-metrics';\nimport { useRouter } from 'next/router';\n\nexport type CardCarouselProps = {\n  /** Item list from individual cards */\n  items: TCardCarouselItem[];\n  /** Main headline above Card Carousel */\n  mainHeadline?: string;\n  /** Main subheadline/short description above Card Carousel */\n  mainShortDescription?: string;\n  /** Handles arrow click */\n  onArrowClick?: (index: number) => void;\n  /** Determines brand color theme for component */\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /** Determines if component is inside editorial component for size restrictions */\n  isEditorialComponent?: boolean;\n  /** Adds an additional border inside main border */\n  isInsideBorder?: boolean;\n};\n\n/**\n * Card Carousel is can be a building block for CPM compatable components or a stand-alone OSC-Component. Creates a film strip style carousel that uses scroll-snap to change cards and adds additional content to your pages.\n * Does **not** continue to cycle through cards, only moves left or right. Click, scroll, or arrow through to see all the cards, it is almost as cool as a Pokemon collection.\n */\nexport const CardCarousel = ({\n  items,\n  mainHeadline,\n  mainShortDescription,\n  brandComponentTheme,\n  isEditorialComponent,\n  isInsideBorder,\n}: CardCarouselProps) => {\n  const [showPreviousArrow, setShowPreviousArrow] = useState(false);\n  const [showNextArrow, setShowNextArrow] = useState(true);\n  const ref = useRef<HTMLDivElement>(null);\n  const { t } = useTranslation('osc-card-carousel');\n  const { locale = 'en' } = useRouter();\n  const isRtl = isRtlUtil(locale);\n  const headerId = useId();\n  const [firstVisibleItemIndex, setFirstVisibleItemIndex] = useState(0);\n\n  const lessThanThreeItems = items.length < 3;\n\n  const sideScroll = (element: HTMLDivElement | null, step: number) => {\n    if (element) element.scrollLeft += step;\n  };\n\n  const handleNextButtonClick = () => {\n    if (ref?.current?.clientWidth) {\n      const scrollValue = isRtl\n        ? -ref?.current?.clientWidth * 0.6\n        : ref?.current?.clientWidth * 0.6;\n      sideScroll(ref.current, scrollValue);\n      trackEvent(\n        ANALYTICS_GLOBAL_CLICK_EVENT,\n        generateCardCarouselMetrics({\n          headline: mainHeadline,\n          count: items?.length ?? 0,\n          clickID: ImageClickID.Scroll,\n          itemTitle: items[firstVisibleItemIndex]?.headline,\n          position: firstVisibleItemIndex + 1,\n        })\n      );\n      if (firstVisibleItemIndex < items.length - 1)\n        setFirstVisibleItemIndex((prevVal) => prevVal + 1);\n    }\n  };\n\n  const handlePreviousButtonClick = () => {\n    if (ref?.current?.clientWidth) {\n      const scrollValue = isRtl\n        ? ref?.current?.clientWidth * 0.6\n        : -ref?.current?.clientWidth * 0.6;\n      sideScroll(ref.current, scrollValue);\n      trackEvent(\n        ANALYTICS_GLOBAL_CLICK_EVENT,\n        generateCardCarouselMetrics({\n          headline: mainHeadline,\n          count: items?.length ?? 0,\n          clickID: ImageClickID.Scroll,\n          itemTitle: items[firstVisibleItemIndex]?.headline,\n          position: firstVisibleItemIndex + 1,\n        })\n      );\n      if (firstVisibleItemIndex > 0) setFirstVisibleItemIndex((prevVal) => prevVal - 1);\n    }\n  };\n\n  const onChange = useCallback((rect: DOMRect | undefined) => {\n    const scrollLeft = ref?.current?.scrollLeft ?? 0;\n    const scrollWidth = ref?.current?.scrollWidth ?? 0;\n    const carouselWidth = rect?.width || 0;\n    const maxScrollwidth = scrollWidth - carouselWidth;\n    if (scrollLeft) {\n      if (maxScrollwidth - scrollLeft < 50 || maxScrollwidth + scrollLeft < 50) {\n        setShowNextArrow(false);\n      } else {\n        setShowNextArrow(true);\n      }\n      if (scrollLeft > 50 || scrollLeft < -50) {\n        setShowPreviousArrow(true);\n      } else if (scrollLeft < 50) {\n        setShowPreviousArrow(false);\n      }\n    }\n  }, []);\n\n  const arrowButtonRect = useRect({ ref, onResize: onChange });\n  const onScrollArrow = useCallback(\n    () => arrowButtonRect && onChange(arrowButtonRect),\n    [onChange, arrowButtonRect]\n  );\n\n  if (!items || !items?.length) {\n    return null;\n  }\n\n  function setCardItemFocus(e: React.KeyboardEvent, activeElement: Element | null | undefined) {\n    let itemToFocus: typeof activeElement = null;\n    const useArrowKeys =\n      activeElement\n        ?.closest('.card-carousel_item')\n        ?.closest('.card-carousel_item')\n        ?.getAttribute('data-use-arrow-keys') === 'true';\n    const cardCarouselItem = activeElement?.closest('.card-carousel_item');\n\n    const goToNextItem = () => {\n      itemToFocus = cardCarouselItem?.nextElementSibling;\n      if (itemToFocus) {\n        e.preventDefault();\n        e.stopPropagation();\n        if (itemToFocus.querySelector('a')) {\n          const listElement = itemToFocus.querySelector('a');\n          activeElement?.setAttribute('tabindex', '-1');\n          listElement?.setAttribute('tabindex', '0');\n          listElement?.focus();\n        } else if (!itemToFocus.querySelector('a')) {\n          const findNextItemToFocus = itemToFocus.nextElementSibling?.querySelector('a');\n          activeElement?.setAttribute('tabindex', '-1');\n          findNextItemToFocus?.setAttribute('tabindex', '0');\n          (findNextItemToFocus as HTMLElement)?.focus();\n        }\n      }\n    };\n\n    const goToPreviousItem = () => {\n      itemToFocus = cardCarouselItem?.previousElementSibling;\n      if (itemToFocus) {\n        e.preventDefault();\n        e.stopPropagation();\n        if (itemToFocus.querySelector('a')) {\n          const listElement = itemToFocus.querySelector('a');\n          activeElement?.setAttribute('tabindex', '-1');\n          listElement?.setAttribute('tabindex', '0');\n          listElement?.focus();\n        } else if (!itemToFocus.querySelector('a')) {\n          const findPreviousItemToFocus = itemToFocus.previousElementSibling?.querySelector('a');\n          activeElement?.setAttribute('tabindex', '-1');\n          findPreviousItemToFocus?.setAttribute('tabindex', '0');\n          (findPreviousItemToFocus as HTMLElement)?.focus();\n        }\n      }\n    };\n\n    if (useArrowKeys) {\n      if (e.key === 'ArrowRight') {\n        if (isRtl) goToPreviousItem();\n        else goToNextItem();\n      } else if (e.key === 'ArrowLeft') {\n        if (isRtl) goToNextItem();\n        else goToPreviousItem();\n      }\n    }\n  }\n\n  const handleKeyPressDown = (e: React.KeyboardEvent) => {\n    const activeElement = ref.current?.ownerDocument.activeElement;\n    setCardItemFocus(e, activeElement);\n  };\n\n  const isLinkPresent = items.some((item) => {\n    return item.link;\n  });\n\n  const findFirstLinkIndex = items.findIndex((item) => item.link);\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div\n      className={cx('card-carousel-container', {\n        'card-carousel-container-light': isLight,\n        'card-carousel-container-dark': isDark,\n        'lg:ps-12': isEditorialComponent && lessThanThreeItems,\n      })}\n      data-testid=\"testCardCarouselTheme\"\n    >\n      <div\n        className={cx('flex flex-col px-[3.4rem]', {\n          'sm:px-[.4rem] md:px-[3.4rem] lg:px-[.4rem]': lessThanThreeItems,\n        })}\n      >\n        {isEditorialComponent ? (\n          <HeadingLevel\n            headingLevelFallback={3}\n            className={cx('card-carousel-main-headline-editorial-text sm:text-lg lg:text-xl', {\n              '!text-text-inverse': isDark,\n              'card-carousel-main-headline-editorial-text-light': isLight,\n              'sr-only': !mainHeadline,\n            })}\n            id={`carousel-heading-${headerId}`}\n          >\n            {mainHeadline || 'Content list'}\n          </HeadingLevel>\n        ) : null}\n\n        {!isEditorialComponent ? (\n          <HeadingLevel\n            headingLevelFallback={2}\n            className={cx(\n              'font-headline card-carousel-main-headline-standalone-text text-4xl sm:text-5xl lg:text-5xl',\n              {\n                '!text-text-inverse': isDark,\n                'card-carousel-main-headline-standalone-text-light': isLight,\n                '!text-2xl sm:!text-2xl lg:!text-2xl text-bold': isEditorialComponent,\n                'sr-only': !mainHeadline,\n              }\n            )}\n            id={`carousel-heading-${headerId}`}\n          >\n            {mainHeadline || 'Content list'}\n          </HeadingLevel>\n        ) : null}\n\n        {mainShortDescription ? (\n          <BrandTextBody\n            className={cx('text-xl sm:!text-xl lg:!text-2xl', {\n              'text-text-inverse': isDark,\n              'card-carousel-short-description-text-light': isLight,\n            })}\n            brandComponentTheme={brandComponentTheme}\n          >\n            {mainShortDescription}\n          </BrandTextBody>\n        ) : null}\n      </div>\n      <div className=\"flex\">\n        <div\n          className={cx('self-center', {\n            invisible: !showPreviousArrow,\n            'sm:hidden md:block lg:hidden': lessThanThreeItems,\n          })}\n        >\n          <button\n            type=\"button\"\n            className={cx('btn btn-primary-text text-text btn-lg me-1 size-11 rtl:-scale-x-100', {\n              'border-bg': isDark,\n              'card-carousel-arrow-button-light': isLight,\n              invisible: !showPreviousArrow,\n            })}\n            onClick={handlePreviousButtonClick}\n            tabIndex={-1}\n          >\n            <Icon\n              name=\"arrowhead-left\"\n              size=\"xl\"\n              className={cx('card-carousel-arrow-button-icon', {\n                'card-carousel-arrow-button-icon-dark': isDark,\n                'card-carousel-arrow-button-icon-light': isLight,\n              })}\n            />\n            <span className=\"sr-only\">{t('previous')}</span>\n          </button>\n        </div>\n\n        <div\n          className={cx(\n            'card-carousel w-full snap-x snap-mandatory overflow-x-scroll scroll-smooth',\n            {\n              'focus:outline outline-[3px] outline-primary outline-offset-2': !isLinkPresent,\n              'outline-text-inverse': isDark,\n              'sm:overflow-x-auto md:overflow-x-scroll lg:overflow-x-auto': lessThanThreeItems,\n            }\n          )}\n          ref={ref}\n          tabIndex={!isLinkPresent ? 0 : undefined}\n          aria-labelledby={`carousel-heading-${headerId}`}\n          onScroll={onScrollArrow}\n        >\n          <ul\n            className={cx('grid-wrapper grid auto-cols-[100%] grid-flow-col sm:auto-cols-[50%]', {\n              'md:auto-cols-[100%] lg:auto-cols-[50%]': isEditorialComponent,\n              'xl:auto-cols-[25%]': !isEditorialComponent,\n            })}\n            data-testid=\"cardCarousel\"\n          >\n            {items?.map((itemProps, index) => (\n              <li\n                className={cx(\n                  'card-carousel_item card-carousel-list-item my-2 shrink-0 snap-center snap-always p-2 sm:snap-start xl:p-5',\n                  {\n                    'xl:!p-2': isEditorialComponent,\n                  }\n                )}\n                key={`carousel-image-${itemProps.id}`}\n                data-testid={`image-carousel-wrap-${index + 1}`}\n                onKeyDown={handleKeyPressDown}\n                data-use-arrow-keys={true}\n              >\n                <div\n                  className={cx(\n                    'card-carousel-list-item-border outline-primary h-full border border-solid p-2 outline-[3px] outline-offset-2 focus-within:outline xl:p-4',\n                    {\n                      'card-carousel-list-item-border-dark card-carousel-list-item-dark outline-text-inverse':\n                        isDark,\n                      'card-carousel-list-item-border-light card-carousel-list-item-light outline-bg':\n                        isLight,\n                      'xl:!p-2': isEditorialComponent,\n                    }\n                  )}\n                >\n                  <HeadingLevelProvider>\n                    <CardCarouselItem\n                      {...itemProps}\n                      currentCard={index + 1}\n                      totalCards={items?.length}\n                      brandComponentTheme={brandComponentTheme}\n                      isEditorialComponent={isEditorialComponent}\n                      isInsideBorder={isInsideBorder}\n                      tabIndex={index === findFirstLinkIndex ? 0 : -1}\n                      mainHeadline={mainHeadline}\n                    />\n                  </HeadingLevelProvider>\n                </div>\n              </li>\n            ))}\n          </ul>\n        </div>\n\n        <div\n          className={cx('self-center', {\n            invisible: !showNextArrow,\n            'sm:hidden md:block lg:hidden': lessThanThreeItems,\n          })}\n        >\n          <button\n            type=\"button\"\n            className={cx('btn btn-primary-text btn-sm size-11 rtl:-scale-x-100', {\n              'border-bg': isDark,\n              'card-carousel-arrow-button-light': isLight,\n            })}\n            onClick={handleNextButtonClick}\n            tabIndex={-1}\n          >\n            <Icon\n              name=\"arrowhead-right\"\n              size=\"xl\"\n              className={cx('card-carousel-arrow-button-icon', {\n                'card-carousel-arrow-button-icon-dark': isDark,\n                'card-carousel-arrow-button-icon-light': isLight,\n              })}\n            />\n            <span className=\"sr-only\">{t('next')}</span>\n          </button>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default CardCarousel;\n","export * from './lib/card-carousel';\n","import { ResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport type { TResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { useRef } from 'react';\nimport type { CardCarouselProps } from '@dx-ui/osc-card-carousel';\nimport { CardCarousel } from '@dx-ui/osc-card-carousel';\nimport cx from 'classnames';\nimport { CustomMarkdown as Markdown } from '@dx-ui/osc-custom-markdown';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\n\nexport type EditorialCarouselProps = {\n  image: { url: string; alt: string; captionData?: TResponsiveImage['captionData'] };\n  imgWrapperClassName?: string;\n  /**\n   * Can be Pullquote, Stats, Timeline or you can pass your own component\n   */\n  contentBelowImg: React.ReactNode;\n  carousel: CardCarouselProps['items'];\n  headline: string;\n  subHeadline?: string;\n  carouselHeadline?: string;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\n/** The passed children will be placed to right of the image and above carousel. */\nexport const EditorialCarousel: React.FC<React.PropsWithChildren<EditorialCarouselProps>> = ({\n  image,\n  carousel,\n  contentBelowImg,\n  imgWrapperClassName,\n  headline,\n  carouselHeadline,\n  subHeadline,\n  brandComponentTheme,\n  children,\n}) => {\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div className=\"brand-wa:py-16 brand-wa:xl:py-20 grid grid-cols-1 py-8 md:grid-cols-[40%_60%] md:grid-rows-[auto_1fr_1fr] xl:py-12\">\n      <div className=\"order-none pb-10 pe-6 ps-6 md:order-2 md:pb-0 md:ps-11\">\n        <hgroup className=\"md:ps-[.8rem]\">\n          <HeadingLevel\n            headingLevelFallback={2}\n            className={cx('heading-4xl pt-6 md:pt-14', {\n              '!text-text-inverse': isDark,\n              'brand-ht:!text-text-inverse': isLight,\n            })}\n          >\n            {headline}\n            {subHeadline ? (\n              <span\n                className={cx(\n                  'brand-es:heading-2xl brand-ey:heading-2xl brand-gu:heading-2xl brand-ou:heading-2xl block pt-1 font-serif text-2xl font-normal normal-case',\n                  {\n                    'brand-ey:!text-text-inverse brand-gu:!text-text-inverse brand-ou:!text-text-inverse':\n                      isDark,\n                  }\n                )}\n              >\n                <Markdown>{subHeadline}</Markdown>\n              </span>\n            ) : null}\n          </HeadingLevel>\n        </hgroup>\n        <div className=\"md:ps-[.8rem]\">{children}</div>\n      </div>\n      <div ref={ref} className=\"order-none md:order-1 md:row-span-3\">\n        <ResponsiveImage\n          aspectRatio=\"1:1\"\n          altText={image.alt}\n          imageUrl={image.url}\n          width={rect?.width ?? 0}\n          wrapperClassName={imgWrapperClassName}\n          captionData={image.captionData}\n          className=\"image-corner-radius\"\n        />\n        <div className=\"mt-20\">{contentBelowImg}</div>\n      </div>\n\n      <div className=\"order-3 mt-14 sm:mt-20 md:row-span-2 lg:mt-24\">\n        <CardCarousel\n          items={carousel}\n          isEditorialComponent={true}\n          mainHeadline={carouselHeadline}\n          brandComponentTheme={brandComponentTheme}\n        />\n      </div>\n    </div>\n  );\n};\n\nexport default EditorialCarousel;\n","import Markdown from 'markdown-to-jsx';\nimport type { PropsWithChildren } from 'react';\nimport cx from 'classnames';\n\ntype PullquoteProps = {\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport const Pullquote = ({ children, brandComponentTheme }: PropsWithChildren<PullquoteProps>) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  if (typeof children === 'string') {\n    return (\n      <blockquote\n        className={cx(\n          'text-primary brand-ey:font-headline brand-ey:font-bold brand-gu:font-sans brand-wa:text-brand brand-ou:font-headline ms-4 px-6 font-serif text-2xl lg:ms-7',\n          {\n            'text-text-inverse': isDark,\n            'brand-ht:text-text-inverse': isLight,\n          }\n        )}\n      >\n        <Markdown>{children}</Markdown>\n      </blockquote>\n    );\n  }\n  return null;\n};\n\nexport default Pullquote;\n","import cx from 'classnames';\n\ntype StatsProps = {\n  data: Array<{\n    heading: string;\n    description: string;\n  }>;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport const Stats = ({ data, brandComponentTheme }: StatsProps) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  return (\n    <div className=\"flex justify-center ps-8\">\n      <ul className=\"flex flex-row flex-wrap gap-y-5\">\n        {data.map((stat) => (\n          <li key={stat?.description} className=\"basis-1/2 pe-5\">\n            <span\n              className={cx('text-primary block text-5xl font-bold', {\n                'text-text-inverse': isDark,\n                'brand-ht:text-text-inverse': isLight,\n              })}\n            >\n              {stat?.heading}\n            </span>\n            <span\n              className={cx('block text-base', {\n                'text-text-inverse': isDark,\n                'brand-ht:text-text-inverse': isLight,\n              })}\n            >\n              {stat?.description}\n            </span>\n          </li>\n        ))}\n      </ul>\n    </div>\n  );\n};\n\nexport default Stats;\n","import cx from 'classnames';\n\ntype TimelineProps = {\n  data: Array<{\n    heading: string;\n    description: string;\n  }>;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport const Timeline = ({ data, brandComponentTheme }: TimelineProps) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  return (\n    <ol className=\"ms-6\">\n      {data.map((timeline, index) => (\n        <li\n          className={cx(\n            \"after:border-primary before:bg-primary relative flex items-center before:absolute before:top-1/2 before:-mt-1 before:size-2 before:-translate-x-[.17rem] before:rounded-full before:content-[''] after:absolute after:h-full after:border-l-2 after:content-[''] rtl:before:translate-x-[.17rem]\",\n            {\n              'after:bottom-1/2': index === data.length - 1,\n              'after:top-1/2': index === 0,\n              'after:border-text-inverse before:bg-text-inverse brand-ou:after:border-secondary brand-ou:before:bg-secondary':\n                isDark,\n              'after:brand-ht:border-text-inverse before:brand-ht:bg-text-inverse': isLight,\n            }\n          )}\n          key={timeline?.description}\n        >\n          <div className=\"flex items-center py-4 ps-6\">\n            <span\n              className={cx('text-primary me-4 text-3xl font-bold', {\n                'text-text-inverse': isDark,\n                'brand-ht:text-text-inverse': isLight,\n              })}\n            >\n              {timeline?.heading}\n            </span>\n            <span\n              className={cx('self-start text-lg', {\n                'text-text-inverse': isDark,\n                'brand-ht:text-text-inverse': isLight,\n              })}\n            >\n              {timeline?.description}\n            </span>\n          </div>\n        </li>\n      ))}\n    </ol>\n  );\n};\n\nexport default Timeline;\n","export * from './lib/editorial-carousel';\nexport * from './lib/components/pullquote';\nexport * from './lib/components/stats';\nexport * from './lib/components/timeline';\n","import cx from 'classnames';\nimport type { IconNames } from '@dx-ui/osc-icon';\nimport Icon from '@dx-ui/osc-icon';\nimport { useTranslation } from 'next-i18next';\n\nexport type PresetChipTypes = 'featured' | 'new' | 'sale' | 'package';\n\nexport type ChipVariants = 'honors' | 'general' | 'marketing' | 'neutral';\n\nexport type ChipProps = {\n  // The HTML element that the Chip renders as.\n  as?: 'div' | 'span';\n  className?: string;\n  // Whether the Chip inherits colors from the parent component\n  shouldInheritStyles?: boolean;\n  isIconTrailing?: boolean;\n  label?: string;\n  preset?: PresetChipTypes;\n  variant?: ChipVariants;\n} & {\n  size?: 'sm' | 'md' | 'lg' | 'xl';\n  iconName?: (typeof IconNames)[number] | 'checkmark';\n};\n\nconst presets: PresetChipTypes[] = ['featured', 'new', 'sale'];\n\nexport const presetFilter = (preset: string) => (presets as readonly string[]).includes(preset);\n\nexport function Chip({\n  as = 'div',\n  className,\n  iconName,\n  shouldInheritStyles = false,\n  isIconTrailing = false,\n  size = 'md',\n  label,\n  preset,\n  variant,\n  ...rest\n}: ChipProps) {\n  const { t } = useTranslation('osc-chip');\n  const chipLabel = preset ? t(preset) : label;\n  const VARIANT_STYLES = Object.freeze({\n    honors: 'border-tier-diamond text-tier-diamond',\n    general: 'border-text text-text',\n    marketing: 'border-success text-success',\n    neutral: 'border-text-inverse text-text-inverse',\n  });\n  const PRESET_STYLES = Object.freeze({\n    featured: VARIANT_STYLES.marketing,\n    new: VARIANT_STYLES.general,\n    sale: VARIANT_STYLES.marketing,\n    package: VARIANT_STYLES.general,\n  });\n  const variantClassName = variant && VARIANT_STYLES[variant];\n  const presetClassName = preset && PRESET_STYLES[preset];\n\n  const icon = () => {\n    if (iconName && iconName !== 'checkmark') {\n      return (\n        <span className=\"block\" data-testid=\"osc-chip-icon\">\n          <Icon name={iconName} size={size === 'xl' ? 'md' : 'xs'} variant=\"regular\" />\n        </span>\n      );\n    }\n\n    if (iconName === 'checkmark') {\n      return (\n        <span className=\"block\" data-testid=\"osc-chip-checkmark-icon\">\n          <Icon name=\"check\" size={size === 'sm' ? 'xs' : 'sm'} />\n        </span>\n      );\n    }\n\n    return null;\n  };\n\n  const Element = as;\n  return (\n    <Element\n      data-testid={preset ? `osc-${preset}-chip` : 'osc-chip'}\n      {...rest}\n      className={cx(\n        'inline-flex items-center gap-x-1 rounded-full border font-[\"Proxima_Nova\"] normal-case not-italic',\n        {\n          'px-2 px-py text-xs font-semibold': size === 'sm',\n          'px-3 py-1 text-xs font-semibold': size === 'md',\n          'px-3 py-2 text-xs font-bold': size === 'lg',\n          'px-3 py-1.5 text-sm font-bold': size === 'xl',\n          'border-text text-text': !presetClassName && !variantClassName && !shouldInheritStyles,\n          [presetClassName as string]: !!presetClassName && !variantClassName,\n        },\n        variantClassName,\n        className\n      )}\n    >\n      {!isIconTrailing && icon()}\n      {chipLabel}\n      {isIconTrailing && icon()}\n    </Element>\n  );\n}\n\nexport default Chip;\n","import { Chip } from './osc-chip';\nimport type { ChipProps } from './osc-chip';\nimport cx from 'classnames';\n\nexport type ActionChipProps = Omit<\n  ChipProps,\n  'as' | 'className' | 'inheritStyles' | 'preset' | 'variant'\n> & {\n  onClick: () => void;\n  isSelected?: boolean;\n};\n\n/** Note: The use case for this component is enterprise only and does not support brand colors or any other color variation. */\nexport function ActionChip({\n  iconName,\n  isIconTrailing,\n  label,\n  onClick,\n  isSelected,\n  size,\n}: ActionChipProps) {\n  return (\n    <button\n      onClick={onClick}\n      className={cx('border-hilton text-hilton rounded-full', {\n        'bg-hilton text-text-inverse': isSelected,\n      })}\n      type=\"button\"\n    >\n      <Chip\n        as=\"span\"\n        iconName={iconName}\n        isIconTrailing={isIconTrailing}\n        size={size}\n        label={label}\n        shouldInheritStyles\n      />\n    </button>\n  );\n}\n\nexport default ActionChip;\n","export * from './lib/osc-chip';\nexport * from './lib/osc-action-chip';\n","import { EditorialCarousel, Stats, Timeline, Pullquote } from '@dx-ui/osc-editorial-carousel';\nimport type { EditorialCarouselProps } from '@dx-ui/osc-editorial-carousel';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport { Link } from '@dx-ui/osc-link';\nimport type { Link as LinkType } from '@dx-ui/osc-link';\nimport { Chip } from '@dx-ui/osc-chip';\nimport { Icon } from '@dx-ui/osc-icon';\nimport type { IconNames } from '@dx-ui/osc-icon';\nimport type { Teaser } from 'dx-shared-schema/dist/types/couchbase/editorial';\nimport cx from 'classnames';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\n\nexport interface BrandEditorialCarouselProps extends EditorialCarouselProps {\n  editorialVariant: 'default' | 'withCarousel';\n  teaser?: Teaser;\n  chipLabel?: string;\n  socialMediaLink?: {\n    url: string;\n    channel: string;\n    linkLabel: string;\n  };\n  longDescription?: string;\n  links?: (LinkType & { experimentationConfiguration?: CmsExperimentationConfiguration })[];\n}\n\n/**\n * Brand Offset utilizes the OSC-Editorial-Carousel and renders children\n */\nexport const BrandEditorialCarousel = ({\n  image,\n  contentBelowImg,\n  carousel,\n  editorialVariant,\n  headline,\n  subHeadline,\n  longDescription,\n  brandComponentTheme,\n  carouselHeadline,\n  chipLabel,\n  teaser,\n  socialMediaLink,\n  links,\n}: BrandEditorialCarouselProps) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  const teaserType = teaser?.type;\n  const teaserData =\n    teaser?.headingAndDescription?.map((item) => ({\n      heading: item.heading || '',\n      description: item.description,\n    })) || [];\n\n  if (teaserType === 'quote') {\n    contentBelowImg = (\n      <Pullquote brandComponentTheme={brandComponentTheme}>\n        {teaser?.headingAndDescription?.[0]?.description}\n      </Pullquote>\n    );\n  } else if (teaserType === 'statistics' && Array.isArray(teaserData)) {\n    contentBelowImg = <Stats data={teaserData} brandComponentTheme={brandComponentTheme} />;\n  } else if (teaserType === 'timeline' && Array.isArray(teaserData)) {\n    contentBelowImg = <Timeline data={teaserData} brandComponentTheme={brandComponentTheme} />;\n  }\n\n  // Don't allow subheadline to contain headings from markdown as it creates invalid html\n  subHeadline = subHeadline?.replace(/^(#+\\s*)/gm, '').trim();\n\n  return (\n    <div className=\"container relative px-0 min-[1440px]:px-10\">\n      <EditorialCarousel\n        image={image}\n        contentBelowImg={editorialVariant === 'withCarousel' ? contentBelowImg : null}\n        carousel={carousel}\n        headline={headline}\n        subHeadline={subHeadline}\n        brandComponentTheme={brandComponentTheme}\n        carouselHeadline={carouselHeadline}\n      >\n        <div className=\"my-4 flex flex-wrap items-center justify-between gap-4\">\n          {chipLabel ? (\n            <Chip label={chipLabel} size=\"lg\" variant={isDark ? 'neutral' : 'general'} />\n          ) : null}\n          {socialMediaLink ? (\n            <Link\n              url={socialMediaLink.url}\n              className={cx(\n                'text-primary hover:text-primary-alt inline-block items-baseline text-base',\n                {\n                  'text-text-inverse hover:text-text-inverse': isDark,\n                  'brand-ht:!text-text-inverse brand-ht:hover:text-text-inverse': isLight,\n                }\n              )}\n              isNewWindow={true}\n              underline={false}\n            >\n              <div className=\"inline-block pe-1.5\">\n                <Icon\n                  size=\"lg\"\n                  name={socialMediaLink.channel?.toLowerCase() as (typeof IconNames)[number]}\n                  className=\"-mb-2 me-1\"\n                  title={socialMediaLink.channel}\n                />\n              </div>\n              <div className=\"inline pe-1 align-baseline underline underline-offset-4\">\n                {socialMediaLink.linkLabel}\n              </div>\n            </Link>\n          ) : null}\n        </div>\n        <div\n          className={cx('border-border border-b', {\n            'brand-gu:border-bg': isDark,\n            'brand-gu:border-primary brand-ou:border-primary': !isDark,\n          })}\n        />\n        {longDescription ? (\n          <BrandTextBody\n            className={cx('text-text brand-wa:font-serif py-2 sm:text-lg lg:text-xl', {\n              'text-text-inverse': isDark,\n              'brand-ht:!text-text-inverse': isLight,\n            })}\n            brandComponentTheme={brandComponentTheme}\n          >\n            {longDescription}\n          </BrandTextBody>\n        ) : null}\n        <div className=\"my-5\">\n          {Array.isArray(links)\n            ? links.map(({ url, isNewWindow, label, experimentationConfiguration }) => {\n                return (\n                  <div className=\"inline\" key={url}>\n                    <BrandLink\n                      label={label}\n                      isNewWindow={isNewWindow}\n                      showNewWindowIcon={isNewWindow}\n                      url={url}\n                      brandComponentTheme={brandComponentTheme}\n                      data-conductrics-goal={experimentationConfiguration?.goal}\n                      data-conductrics-value={experimentationConfiguration?.value}\n                      anchorClassName=\"mb-3 me-3 sm:mb-0\"\n                    />\n                  </div>\n                );\n              })\n            : null}\n        </div>\n      </EditorialCarousel>\n    </div>\n  );\n};\n","import * as React from 'react';\n\ntype Props = React.PropsWithChildren<{\n  theme: 'light' | 'dark' | '';\n  enabled: boolean;\n}>;\n\nexport function EditorialHamptonHexVisual({ theme, enabled, children }: Props) {\n  if (enabled && theme === 'light') {\n    return (\n      <React.Fragment>\n        <svg\n          data-testid=\"editorial-hexagon-light\"\n          viewBox=\"0 0 1440 259\"\n          fill=\"none\"\n          className=\"invisible absolute inset-x-0 bottom-0 md:visible\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M1440 258.333V192.488L794.802 10.3286C770.497 3.47664 745.349 0 720 0V0.0338135C694.65 0.0338135 669.469 3.51042 645.163 10.3624L0 192.521V258.333H1440Z\"\n            fill=\"white\"\n          />\n        </svg>\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  if (enabled && theme === 'dark') {\n    return (\n      <React.Fragment>\n        <svg\n          data-testid=\"editorial-hexagon-dark\"\n          viewBox=\"0 0 1440 259\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          className=\"invisible absolute inset-x-0 bottom-0 md:visible\"\n        >\n          <path\n            d=\"M1440 258.333V192.488L794.802 10.3286C770.497 3.47664 745.349 0 720 0V0.0338135C694.65 0.0338135 669.469 3.51042 645.163 10.3624L0 192.521V258.333H1440Z\"\n            fill=\"#002666\"\n          />\n        </svg>\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  return children;\n}\n","import {\n  CpmMappingError,\n  createCpmComponentDefinition,\n  removeNullyFromArray,\n  shouldRenderExperiment,\n  useCreateManageContentButton,\n  useSegmentedItems,\n} from '@dx-ui/cpm-sdk';\nimport type { AspectRatio } from '@dx-ui/osc-responsive-image';\nimport { EditorialSnippet } from '@dx-ui/osc-editorial-snippet';\nimport type { IconNames } from '@dx-ui/osc-icon';\nimport { BrandEditorialCarousel } from './BrandEditorialCarousel';\nimport { EditorialHamptonHexVisual } from './EditorialHamptonHexVisual';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\nexport default createCpmComponentDefinition(\n  'Editorial',\n\n  function mapComponentData({ data, componentParams }) {\n    const cpmRelated = data?.cpmRelatedDocuments ?? [];\n\n    const relatedDocuments = removeNullyFromArray(cpmRelated).map((item, index) => {\n      const image = item.cpmAssets[0];\n\n      if (!image || !image.aspectRatios['3x2']) {\n        throw new CpmMappingError(\n          `Related document \"${index + 1}\" is missing an image with an aspect ratio of 3x2`\n        );\n      }\n\n      const captionData = image\n        ? {\n            captionLink: image.captionLink,\n            caption: image.caption,\n          }\n        : undefined;\n\n      const cardImage = image.aspectRatios['3x2'];\n\n      return {\n        $ref: item._meta.$ref,\n        id: item._meta.$ref.replace('/page/', ''),\n        headline: item.headline,\n        shortDescription: item.shortDescription,\n        longDescription: item.longDescription,\n        link: item.link ? item.link : undefined,\n        segmentIds: item.segmentIds,\n        experimentationConfiguration: item.experimentationConfiguration,\n        links: item.links,\n        imageAspectRatio: '3:2' as AspectRatio,\n        imageUrl: cardImage.url,\n        captionData,\n        imageAltTxt: image.altText,\n      };\n    });\n\n    const image = data.cpmAssets[0];\n\n    if (!image || !image.aspectRatios['1x1']) {\n      throw new CpmMappingError(\n        `Editorial requires an image with an aspect ratio of 1x1 (${data.contentType} - ${data.displayName})`\n      );\n    }\n\n    const captionData = image\n      ? {\n          captionLink: image.captionLink,\n          caption: image.caption,\n        }\n      : undefined;\n\n    const mainImage = {\n      alt: image.altText,\n      url: image.aspectRatios['1x1'].url,\n      captionData,\n    };\n\n    return {\n      // Content fields\n      headline: data.headline,\n      shortDescription: data.shortDescription,\n      chips: data.chip, // `chip` is an array, let's call it `chips`\n      social: data.socialMediaLinks,\n      image: mainImage,\n      longDescription: data.longDescription,\n      teaser: data.teaser,\n      gridDescription: data.gridDescription,\n      cards: relatedDocuments,\n      links: data.links,\n\n      // Non-content fields\n      editorialVariant: componentParams.display,\n      brandComponentTheme: componentParams.theme,\n      imageDisplay: componentParams.imageDisplay,\n    };\n  },\n\n  function CpmEditorial({\n    componentParams,\n    data,\n    mappedPage: { brandCode },\n    experimentationAgents,\n  }) {\n    const createManageContentButton = useCreateManageContentButton();\n    const segmentedCards = useSegmentedItems(data ? data.cards : [], {\n      maintainUnsegmentedCount: true,\n    });\n\n    if (!data) {\n      return null;\n    }\n\n    const carouselItems = segmentedCards\n      .filter((item) =>\n        shouldRenderExperiment(experimentationAgents, item.experimentationConfiguration)\n      )\n      .map((item) => {\n        const links = item.links.filter((link) =>\n          shouldRenderExperiment(experimentationAgents, link.experimentationConfiguration)\n        );\n\n        return {\n          ...item,\n          cmsDocumentControl: createManageContentButton(item.$ref),\n          links,\n          link: links[0],\n        };\n      });\n\n    const { teaser, chips, social, links, gridDescription } = data;\n    const chipLabel = chips?.[0]?.chipLabel;\n\n    const socialLink = social?.[0];\n    const filteredLinks =\n      links?.filter((link) =>\n        shouldRenderExperiment(experimentationAgents, link.experimentationConfiguration)\n      ) ?? [];\n\n    return (\n      <BrandComponentThemeInline\n        brandCode={brandCode}\n        componentClassName=\"editorial\"\n        componentParams={componentParams}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <EditorialHamptonHexVisual\n          theme={componentParams.theme}\n          enabled={componentParams.backgroundIllustration === 'hx-hexagon' && brandCode === 'HP'}\n        >\n          {data?.editorialVariant === 'default' || data?.editorialVariant === 'withCarousel' ? (\n            <BrandEditorialCarousel\n              image={data.image}\n              contentBelowImg={null}\n              carousel={data?.editorialVariant === 'withCarousel' ? carouselItems : []}\n              headline={data.headline}\n              subHeadline={data.shortDescription}\n              brandComponentTheme={data.brandComponentTheme}\n              carouselHeadline={gridDescription || undefined}\n              editorialVariant={data?.editorialVariant}\n              teaser={teaser || undefined}\n              chipLabel={chipLabel || ''}\n              socialMediaLink={{\n                url: socialLink?.url ?? '',\n                linkLabel: socialLink?.linkLabel ?? '',\n                channel: socialLink?.channel ?? '',\n              }}\n              longDescription={data?.longDescription || ''}\n              links={filteredLinks}\n            />\n          ) : null}\n\n          {data?.editorialVariant === 'snippet' ? (\n            <EditorialSnippet\n              image={{\n                url: data?.image?.url,\n                altText: data?.image?.alt,\n              }}\n              heading={data?.headline}\n              shortDescription={data?.shortDescription}\n              longDescription={data?.longDescription ?? ''}\n              brandComponentTheme={data?.brandComponentTheme}\n              isSquareImage={data?.imageDisplay === 'round' ? false : true}\n              socialMediaLink={{\n                url: socialLink?.url ?? '',\n                label: socialLink?.linkLabel ?? '',\n                isNewWindow: true,\n              }}\n              socialMediaIcon={socialLink?.channel?.toLowerCase() as (typeof IconNames)[number]}\n              ctaLink={filteredLinks[0]}\n            />\n          ) : null}\n        </EditorialHamptonHexVisual>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\n\nexport default createCpmComponentDefinition(\n  'Experimentation',\n\n  function mapData({ data }) {\n    return data;\n  },\n\n  function Experimentation({ items = [], listData, componentParams }) {\n    return (\n      <>\n        <p>{JSON.stringify(componentParams)}</p>\n        {listData ? <p>{JSON.stringify(listData)}</p> : null}\n        {items.length ? (\n          <ul>\n            {items.map((item) => (\n              <li key={item.id}>{JSON.stringify(item)}</li>\n            ))}\n          </ul>\n        ) : null}\n      </>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import * as React from 'react';\n\ntype Props = React.PropsWithChildren<{\n  theme: 'light' | 'dark' | '';\n  enabled: boolean;\n}>;\n\nexport function HamptonHexVisual({ theme, enabled, children }: Props) {\n  if (enabled && theme === 'light') {\n    return (\n      <React.Fragment>\n        <svg\n          aria-hidden=\"true\"\n          data-testid=\"hampton-hex-light\"\n          className=\"invisible absolute left-0 top-0 w-1/3 md:visible\"\n          viewBox=\"0 0 552 107\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M0 0V80.5744L56.1245 96.3995C81.1038 103.432 106.948 107 133 107V106.966C159.052 106.966 184.931 103.398 209.91 96.3648L551.656 0H0Z\"\n            fill=\"white\"\n          />\n        </svg>\n\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  if (enabled && theme === 'dark') {\n    return (\n      <React.Fragment>\n        <svg\n          aria-hidden=\"true\"\n          data-testid=\"hampton-hex-dark\"\n          className=\"invisible absolute left-0 top-0 w-1/3 md:visible\"\n          viewBox=\"0 0 552 107\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M0 0.000488281V80.5749L56.1245 96.4C81.1038 103.433 106.948 107.001 133 107.001V106.966C159.052 106.966 184.931 103.398 209.91 96.3653L551.656 0.000488281H0Z\"\n            fill=\"#002666\"\n          />\n        </svg>\n\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  return children;\n}\n","import cx from 'classnames';\nimport { DynamicGridWOM, DynamicGrid } from '@dx-ui/osc-dynamic-grids';\n\nimport { extractInstanceIndexFromId } from '../../utils/id-transformer';\nimport {\n  createCpmComponentDefinition,\n  useCreateManageContentButton,\n  selectFirstAssetWithAspectRatio,\n  selectLastAssetWithAspectRatio,\n} from '@dx-ui/cpm-sdk';\nimport { HamptonHexVisual } from './HamptonHexVisual';\nimport { sendReward } from '@dx-ui/framework-conductrics';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  '4X Grid',\n\n  function mapData({ data }) {\n    const { link } = data;\n    const asset = selectFirstAssetWithAspectRatio('3x4', data.cpmAssets);\n    const modalImageUrl = selectLastAssetWithAspectRatio('16x9', data.cpmAssets)?.aspectRatios[\n      '16x9'\n    ].url;\n\n    return {\n      id: data.id ?? '',\n      captionData: asset?.caption\n        ? {\n            caption: asset?.caption ?? '',\n          }\n        : undefined,\n      imageUrl: asset?.aspectRatios['3x4']?.url ?? '',\n      imageAltTxt: asset?.altText ?? '',\n      headline: data.headline,\n      shortDescription: data.shortDescription,\n      link: link?.url ? link : undefined,\n      links: data.links,\n      itemTitle: data?.label ?? '',\n      modalImageUrl,\n    };\n  },\n\n  function FourXGrid({ componentParams, items = [], listData, mappedPage: { brandCode } }) {\n    const metrics = useMetrics();\n    const createManageContentButton = useCreateManageContentButton();\n    const { display } = componentParams;\n    const isWA = brandCode === 'WA';\n\n    if (!listData) {\n      return null;\n    }\n\n    const { id, headline, description, links } = listData;\n\n    if (!items.length) {\n      return null;\n    }\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    const onViewItem = (selectedItemId: string) => {\n      const index = items.findIndex((item) => item.id === selectedItemId);\n      const item = items[index];\n\n      if (item?.experimentationConfiguration && item.experimentationConfiguration.goal) {\n        const val = Number(item.experimentationConfiguration.value);\n        sendReward(item.experimentationConfiguration.goal, Number.isFinite(val) ? val : undefined);\n      }\n\n      metrics.trackGridItemClick?.([\n        {\n          itemNumber: index + 1,\n          totalItems: items.length,\n          label: item?.itemTitle ?? '',\n          gridNumber: extractInstanceIndexFromId(id),\n          is4XGrid: true,\n        },\n      ]);\n    };\n\n    const listLink = links[0];\n    const isThemeAdded = Boolean(componentParams.theme);\n    const hexEnabled =\n      brandCode === 'HP' && componentParams.backgroundIllustration === 'hx-hexagon';\n\n    if (display === 'wom') {\n      return (\n        <BrandComponentThemeInline\n          componentClassName=\"fourXWOMGrid\"\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration,\n          }}\n        >\n          <HamptonHexVisual theme={componentParams.theme ?? ''} enabled={hexEnabled}>\n            <div\n              className={cx({\n                relative: hexEnabled,\n                'md:py-12': isThemeAdded,\n              })}\n            >\n              <DynamicGridWOM\n                textAlign={componentParams.listTextAlign}\n                imageAspectRatio=\"3:4\"\n                isAnimated={componentParams.animation}\n                listHeadline={headline ?? undefined}\n                listDescription={description ?? undefined}\n                id={id}\n                link={listLink ? listLink : undefined}\n                items={itemsWithManageContentButton}\n                brandComponentTheme={componentParams.theme}\n              />\n            </div>\n          </HamptonHexVisual>\n        </BrandComponentThemeInline>\n      );\n    } else {\n      return (\n        <BrandComponentThemeInline\n          componentClassName=\"fourXGrid\"\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration,\n          }}\n        >\n          <HamptonHexVisual theme={componentParams.theme ?? ''} enabled={hexEnabled}>\n            <DynamicGrid\n              textAlign={componentParams.listTextAlign}\n              listDescription={description ?? undefined}\n              listHeadline={headline ?? undefined}\n              id={id}\n              imageAspectRatio=\"3:4\"\n              items={itemsWithManageContentButton}\n              onViewItem={onViewItem}\n              brandComponentTheme={componentParams.theme}\n              isAnimated={isWA}\n              variant=\"card\"\n            />\n          </HamptonHexVisual>\n        </BrandComponentThemeInline>\n      );\n    }\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { extractInstanceIndexFromId } from '../../utils/id-transformer';\nimport { FullWidthImage } from '@dx-ui/osc-marketing';\nimport { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  'Full Width Image',\n\n  function mapData({ data }) {\n    const asset = data.cpmAssets[0];\n\n    const captionData = asset\n      ? {\n          captionLink: asset.captionLink,\n          caption: asset.caption,\n        }\n      : undefined;\n\n    return {\n      id: data.id,\n      description: data.shortDescription,\n      imageOverlayButtonText: data.label,\n      title: data.headline,\n      link: {\n        adaDescription: data.link?.adaDescription,\n        isNewWindow: data.link?.isNewWindow,\n        label: data.link?.label,\n        url: data.link?.url ?? '',\n        experimentationConfiguration: data.link?.experimentationConfiguration,\n      },\n      desktopImageUrl: asset?.aspectRatios['18x5']?.url ?? '',\n      tabletImageUrl: asset?.aspectRatios['18x5']?.url ?? '',\n      mobileImageUrl: asset?.aspectRatios['3x2']?.url ?? '',\n      captionData,\n      imageAltText: asset?.altText ?? '',\n      links: data.links,\n    };\n  },\n\n  function FullWidthImageCpm({ items = [], componentParams, mappedPage: { brandCode } }) {\n    const metrics = useMetrics();\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    const { id = '', imageOverlayButtonText } = data;\n\n    const overlayButtonClicked = () => {\n      if (imageOverlayButtonText && metrics) {\n        metrics.trackFullWidthImageClick?.([\n          {\n            fullWidthImageNumber: extractInstanceIndexFromId(id),\n            label: imageOverlayButtonText,\n          },\n        ]);\n      }\n    };\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <FullWidthImage {...data} overlayButtonClicked={overlayButtonClicked} />\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import {\n  ImageType,\n  ANALYTICS_NO_VALUE,\n  ImageClickID,\n  type ImageClickIDType,\n  type ImageFunctionType,\n  type BaseImageMetrics,\n} from '@dx-ui/config-metrics';\nimport type { GalleryMetrics } from '../types/gallery-analytics';\n\nexport const DEFAULT_GALLERY_POSITION = 1;\nexport const DEFAULT_GALLERY_COUNT = 1;\n\ntype GenerateGalleryMetricsParams = {\n  metrics?: Partial<BaseImageMetrics>;\n  clickID: ImageClickIDType;\n  headline?: string;\n  itemTitle?: string;\n  position?: number;\n  count?: number;\n  imageFunction: ImageFunctionType;\n};\n\nexport const generateGalleryMetrics = ({\n  metrics,\n  clickID,\n  headline,\n  itemTitle,\n  position,\n  count,\n  imageFunction,\n}: GenerateGalleryMetricsParams): GalleryMetrics => ({\n  click: {\n    clickID,\n  },\n  osc: {\n    ...metrics?.osc,\n    image: {\n      ...metrics?.osc?.image,\n      headline: metrics?.osc?.image.headline || headline || ANALYTICS_NO_VALUE,\n      itemTitle: itemTitle || ANALYTICS_NO_VALUE,\n      position: position || DEFAULT_GALLERY_POSITION,\n      count: count || DEFAULT_GALLERY_COUNT,\n      type: ImageType.Gallery,\n      function: imageFunction,\n    },\n  },\n});\n\nexport const generatePartialGalleryMetrics = (\n  headline: string | null | undefined\n): Partial<BaseImageMetrics> => ({\n  click: {\n    clickID: ImageClickID.Img,\n  },\n  osc: {\n    image: {\n      headline: headline ?? '',\n      type: ImageType.Gallery,\n    },\n  },\n});\n","import { ResponsiveImage, BREAKPOINTS } from '@dx-ui/osc-responsive-image';\nimport { useRef, useState } from 'react';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport type { GalleryItem } from './gallery';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { useMediaQuery } from 'usehooks-ts';\nimport { Dialog } from '@dx-ui/osc-dialog-v2';\nimport { CarouselSingle } from '@dx-ui/osc-carousel';\nimport { useTranslation } from 'next-i18next';\nimport type { BaseImageMetrics } from '@dx-ui/config-metrics';\nimport {\n  ANALYTICS_GLOBAL_CLICK_EVENT,\n  ImageClickID,\n  ImageFunction,\n  trackEvent,\n} from '@dx-ui/config-metrics';\nimport { generateGalleryMetrics, generatePartialGalleryMetrics } from './utils/gallery-analytics';\n\ntype GalleryImageProps = {\n  /** Details of the Gallery Image */\n  item: GalleryItem;\n  /** Index of the current image */\n  idx: number;\n  /** Indicates if the Gallery Image is animated */\n  isAnimated?: boolean;\n  /** All of the items in the gallery */\n  items: Array<GalleryItem>;\n  /** Title for a Dialog modal */\n  dialogTitle: string;\n  metrics?: Partial<BaseImageMetrics>;\n};\n\nexport function GalleryImage({\n  item,\n  items,\n  idx,\n  isAnimated,\n  dialogTitle,\n  metrics,\n}: GalleryImageProps) {\n  const ref = useRef<React.ElementRef<'button'>>(null);\n  const rect = useRect({ ref });\n  const { t } = useTranslation('osc-gallery');\n\n  const [isDialogOpen, setIsDialogOpen] = useState(false);\n\n  const isMobile = useMediaQuery(`(max-width: ${BREAKPOINTS['sm']}px)`);\n  const isDesktop = useMediaQuery(`(min-width: ${BREAKPOINTS['xl']}px)`);\n\n  const numberOfItemsInARow = isDesktop ? 3 : isMobile ? 1 : 2;\n\n  return (\n    <AnimateRevealItem\n      animationType=\"fade-in-up\"\n      delay={100 + (idx % numberOfItemsInARow) * 100}\n      isAnimated={isAnimated}\n      className=\"size-full\"\n    >\n      <Dialog\n        dialogTrigger={\n          <button\n            className=\"size-full\"\n            aria-label={t('focusedGalleryItem', {\n              altText: item.image.alt,\n            })}\n            type=\"button\"\n            ref={ref}\n            onClick={() => setIsDialogOpen(true)}\n          >\n            <ResponsiveImage\n              aspectRatio={item.image.aspectRatio}\n              altText={item.image.alt}\n              imageUrl={item.image.url}\n              width={rect?.width ?? 0}\n              wrapperClassName=\"h-full\"\n              wrapperTag=\"span\"\n              onClick={() =>\n                trackEvent(\n                  ANALYTICS_GLOBAL_CLICK_EVENT,\n                  generateGalleryMetrics({\n                    metrics,\n                    position: idx + 1,\n                    count: items.length,\n                    clickID: ImageClickID.Img,\n                    headline: dialogTitle,\n                    imageFunction: ImageFunction.Modal,\n                    itemTitle: item.image.alt,\n                  })\n                )\n              }\n            />\n          </button>\n        }\n        size=\"4xl\"\n        title={dialogTitle}\n        onDismiss={() => setIsDialogOpen(false)}\n        isOpen={isDialogOpen}\n      >\n        <CarouselSingle\n          startingIndex={idx}\n          metrics={generatePartialGalleryMetrics(dialogTitle)}\n          images={items.map((item) => ({\n            alt: item.image.alt,\n            url: item.image.url,\n            captionData: item.image.captionData,\n          }))}\n        />\n      </Dialog>\n    </AnimateRevealItem>\n  );\n}\n","import { useState } from 'react';\nimport type { AspectRatio, TResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { useTranslation } from 'next-i18next';\nimport { GalleryImage } from './gallery-image';\nimport cx from 'classnames';\nimport type { BaseImageMetrics } from '@dx-ui/config-metrics';\n\nexport type GalleryItem = {\n  id: string;\n  image: {\n    alt: string;\n    aspectRatio: AspectRatio;\n    url: string;\n    captionData: TResponsiveImage['captionData'];\n  };\n  /** Used for the tabbed gallery to group items based on the category (category is a tab name) */\n  category?: string;\n};\n\nexport type GalleryItems = Array<GalleryItem>;\n\ntype GalleryProps = {\n  items: GalleryItems;\n  isAnimated?: boolean;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  metrics?: Partial<BaseImageMetrics>;\n};\n\nexport function Gallery({ items, isAnimated = false, brandComponentTheme, metrics }: GalleryProps) {\n  const { t } = useTranslation('osc-gallery');\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  const [isGalleryExpanded, setIsGalleryExpanded] = useState(false);\n  const galleryItemsLength = items?.length || 0;\n\n  const showViewBtn = (galleryItemsLength && galleryItemsLength > 12) || false;\n\n  return (\n    <>\n      <ul className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3\">\n        {items.map((item, idx) => {\n          const shouldHideImage = idx + 1 > 12 && !isGalleryExpanded;\n          if (!shouldHideImage) {\n            return (\n              <li key={item.id}>\n                <GalleryImage\n                  item={item}\n                  idx={idx}\n                  isAnimated={isAnimated}\n                  items={items}\n                  dialogTitle={\n                    item.category ? t('categoryGallery', { category: item.category }) : t('gallery')\n                  }\n                  metrics={metrics}\n                />\n              </li>\n            );\n          }\n          return null;\n        })}\n      </ul>\n      {showViewBtn ? (\n        <div className=\"flex justify-center py-6\">\n          <button\n            onClick={() => setIsGalleryExpanded((isGalleryExpanded) => !isGalleryExpanded)}\n            type=\"button\"\n            className={cx('btn btn-primary-link btn-xl text-text', {\n              'text-text-inverse': isDark,\n              'brand-ht:text-text-inverse': isLight,\n            })}\n          >\n            {isGalleryExpanded ? t('viewLess') : t('viewAll', { count: galleryItemsLength })}\n          </button>\n        </div>\n      ) : null}\n    </>\n  );\n}\n\nexport default Gallery;\n","import { useState } from 'react';\nimport {\n  TabListScrollable,\n  TabListButton,\n  TabPanel,\n  TabPanels,\n  Tabs,\n  sanitizeId,\n} from '@dx-ui/osc-tabs';\nimport { isRtl } from '@dx-ui/utilities-get-language-direction';\nimport type { GalleryItems } from './gallery';\nimport cx from 'classnames';\nimport { Gallery } from './gallery';\nimport { useRouter } from 'next/router';\nimport type { BaseImageMetrics } from '@dx-ui/config-metrics';\n\ntype TabbedGalleryProps = {\n  items: GalleryItems;\n  isAnimated?: boolean;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  metrics?: Partial<BaseImageMetrics>;\n};\n\nexport function TabbedGallery({\n  items,\n  isAnimated = false,\n  brandComponentTheme,\n  metrics,\n}: TabbedGalleryProps) {\n  const { locale = 'en' } = useRouter();\n  const defaultActive = sanitizeId(items[0]?.category);\n  const [activeCategoryId, setActiveCategoryId] = useState(defaultActive);\n  const [focusedCategoryId, setFocusedCategoryId] = useState<undefined | string>(undefined);\n\n  const categories = items\n    .map((item) => {\n      return item.category;\n    })\n    .filter((item) => {\n      return !!item;\n    });\n\n  const uniqueCategories = Array.from(new Set(categories));\n\n  const categoryItems = items.filter((i) => sanitizeId(i.category) === activeCategoryId);\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div>\n      <Tabs\n        changeWithArrow\n        useUpDownArrows\n        onTabChange={(id) => {\n          setActiveCategoryId(id);\n        }}\n        defaultActive={defaultActive}\n      >\n        <TabListScrollable\n          className={cx('scrollbar-hide mb-4 flex flex-row flex-nowrap overflow-x-scroll', {\n            'horizontal-tabbed-list-scrollable-dark': isDark,\n            'horizontal-tabbed-list-scrollable-light': isLight,\n            'horizontal-tabbed-list-scrollable': !isDark && !isLight,\n          })}\n          leftArrowWrapperClassName={{\n            'horizontal-tabbed-arrow-wrapper-dark': isDark,\n            'horizontal-tabbed-arrow-wrapper-light': isLight,\n            'horizontal-tabbed-arrow-wrapper': !isDark && !isLight,\n          }}\n          rightArrowWrapperClassName={{\n            'horizontal-tabbed-arrow-wrapper-dark': isDark,\n            'horizontal-tabbed-arrow-wrapper-light': isLight,\n            'horizontal-tabbed-arrow-wrapper': !isDark && !isLight,\n          }}\n        >\n          {uniqueCategories.map((category, index) => {\n            const isFocusedTab = category === focusedCategoryId;\n            const isRightBeforeFocusedtab =\n              uniqueCategories[isRtl(locale) ? index - 1 : index + 1] === focusedCategoryId;\n            const id = sanitizeId(category);\n\n            return (\n              <TabListButton\n                onFocus={() => setFocusedCategoryId(category)}\n                onBlur={() => setFocusedCategoryId(undefined)}\n                id={id}\n                key={category}\n                activeClassName={cx('is-selected selected group z-10', {\n                  'horizontal-tabbed-list-button-active-dark': isDark,\n                  'horizontal-tabbed-list-button-active-light': isLight,\n                  'horizontal-tabbed-list-button-active': !isDark && !isLight,\n                })}\n                className={cx(\n                  'relative grow cursor-pointer appearance-none border-b-4 bg-transparent px-4 py-2 md:whitespace-normal',\n                  {\n                    'after:mb-2 after:absolute after:top-0 after:right-0 after:bottom-0 after:w-[1px] after:bg-text after:pointer-events-none last:after:hidden rtl:after:hidden':\n                      !isFocusedTab && !isRightBeforeFocusedtab,\n                    'rtl:before:mb-2 rtl:before:absolute rtl:before:top-0 rtl:before:right-0 rtl:before:bottom-0 rtl:before:w-[1px] rtl:before:bg-text rtl:before:pointer-events-none rtl:first:before:hidden':\n                      !isFocusedTab && !isRightBeforeFocusedtab,\n                    'min-w-[50%] lg:min-w-[20%]': uniqueCategories.length > 5,\n                    'min-w-[50%] lg:min-w-fit': uniqueCategories.length <= 5,\n                    'after:!gallery-tabs-divider-light rtl:before:!gallery-tabs-divider-light':\n                      isLight,\n                    'after:bg-text-inverse rtl:before:bg-text-inverse': isDark,\n                  }\n                )}\n              >\n                <span\n                  className={cx(\n                    'group m-auto flex min-w-[120px] flex-col items-center text-lg',\n                    'brand-es:font-headline',\n                    'brand-ey:font-normal',\n                    'brand-hp:font-serif brand-hp:shrink-0',\n                    'brand-nd:uppercase brand-nd:font-mono',\n                    'brand-wa:uppercase brand-wa:font-sans brand-wa:font-light',\n                    {\n                      'hover:text-primary-alt focus:text-primary-alt brand-dt:hover:text-brand brand-dt:focus:text-brand brand-es:hover:text-primary brand-es:focus:text-primary':\n                        id !== activeCategoryId,\n                      'font-bold brand-nd:font-medium ': id === activeCategoryId,\n                      'font-medium brand-gu:font-bold': id !== activeCategoryId,\n                      'text-text-inverse': isDark,\n                      'hover:text-text-inverse brand-es:hover:text-bg-light brand-es:focus:text-bg-light brand-nd:hover:!text-text-disabled brand-ey:hover:!text-brand-alt':\n                        isDark && id !== activeCategoryId,\n                      'brand-ht:!text-text-inverse brand-hp:text-primary': isLight,\n                      'brand-nd:hover:text-primary-alt brand-wa:hover:text-bg-dark brand-ey:hover:text-primary-alt':\n                        !isDark && id !== activeCategoryId,\n                      'text-text brand-ey:text-primary brand-gu:text-primary brand-ou:text-primary brand-hp:text-primary brand-hp:hover:text-primary-alt':\n                        !isDark,\n                    }\n                  )}\n                >\n                  {category}\n                </span>\n              </TabListButton>\n            );\n          })}\n        </TabListScrollable>\n        <TabPanels>\n          {uniqueCategories.map((category) => {\n            return (\n              <TabPanel id={sanitizeId(category)} key={category}>\n                <Gallery\n                  isAnimated={isAnimated}\n                  items={categoryItems}\n                  brandComponentTheme={brandComponentTheme}\n                  metrics={metrics}\n                />\n              </TabPanel>\n            );\n          })}\n        </TabPanels>\n      </Tabs>\n    </div>\n  );\n}\n\nexport default TabbedGallery;\n","export * from './lib/gallery';\nexport * from './lib/tabbed-gallery';\nexport * from './lib/types/gallery-analytics';\nexport * from './lib/utils/gallery-analytics';\n","import { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport type { StructuredAsset } from '@dx-ui/cpm-sdk';\nimport { Gallery, generatePartialGalleryMetrics, TabbedGallery } from '@dx-ui/osc-gallery';\nimport type { GalleryItems, GalleryItem } from '@dx-ui/osc-gallery';\nimport cx from 'classnames';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport { mapTextAlignToClassname } from '@dx-ui/osc-textual-block';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport type { AspectRatio } from '@dx-ui/osc-responsive-image';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\ntype GalleryImage = GalleryItem['image'] & Omit<GalleryItem, 'image' | 'category'>;\ntype GalleryImages = Array<GalleryImage>;\n\nfunction transformImage(img: GalleryImage, category?: string) {\n  return {\n    id: img.id,\n    ...(category && { category }),\n    image: {\n      alt: img.alt,\n      aspectRatio: img.aspectRatio,\n      url: img.url,\n      captionData: img.captionData,\n    },\n  };\n}\n\nfunction mapAssetsToImages(assets: StructuredAsset[]): GalleryImages {\n  return assets.map((asset) => ({\n    id: asset?.id ?? crypto.randomUUID(),\n    alt: asset?.altText ?? '',\n    url: asset?.aspectRatios['3x2']?.url ?? '',\n    aspectRatio: '3:2' as AspectRatio,\n    captionData: asset?.caption\n      ? {\n          captionLink: asset.captionLink ?? undefined,\n          caption: asset.caption ?? '',\n        }\n      : undefined,\n  }));\n}\n\nexport default createCpmComponentDefinition(\n  'Gallery',\n\n  function mapComponentData({ data }) {\n    return {\n      $ref: data?.ref?.$ref,\n      id: data?.id ?? '',\n      images: mapAssetsToImages(\n        data?.cpmAssets?.filter((asset): asset is StructuredAsset => asset !== undefined) ?? []\n      ),\n      category: data.label || data?.headline || '',\n      segmentIds: data.segmentIds,\n      experimentationConfiguration: data.experimentationConfiguration,\n      links: data.links,\n    };\n  },\n\n  function CpmGallery({ items = [], listData, componentParams, mappedPage: { brandCode } }) {\n    if (!items.length) {\n      return null;\n    }\n\n    const isTabbedGallery = items.length > 1;\n\n    const galleryItems: GalleryItems = isTabbedGallery\n      ? items.flatMap((item) => item?.images?.map((img) => transformImage(img, item?.category)))\n      : items[0]?.images?.map((img) => transformImage(img)) || [];\n\n    const isGraduate = brandCode === 'GU';\n\n    const headline = listData?.headline || undefined;\n    const subheading = listData?.subheading || undefined;\n    const link = listData?.links?.[0] || undefined;\n\n    const brandComponentTheme = componentParams.theme;\n    const isDark = brandComponentTheme === 'dark';\n    const isLight = brandComponentTheme === 'light';\n    const textAlign = componentParams.textAlign || 'left';\n\n    const isCTADisplayed = isTabbedGallery ? true : galleryItems.length < 13;\n    const galleryMetrics = generatePartialGalleryMetrics(headline);\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration || 'none',\n        }}\n      >\n        <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={isGraduate}>\n          <div className=\"brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12\">\n            <div className={cx({ 'mb-8': headline || subheading })}>\n              {headline ? (\n                <BrandTextHeader\n                  className={cx(mapTextAlignToClassname(textAlign), {\n                    '!text-text-inverse': isDark,\n                    'brand-ht:text-text-inverse': isLight,\n                  })}\n                >\n                  {headline}\n                </BrandTextHeader>\n              ) : null}\n\n              {subheading ? (\n                <BrandTextBody\n                  className={cx(mapTextAlignToClassname(textAlign), {\n                    'text-text-inverse': isDark,\n                    'brand-ht:text-text-inverse': isLight,\n                  })}\n                  brandComponentTheme={brandComponentTheme}\n                >\n                  {subheading}\n                </BrandTextBody>\n              ) : null}\n            </div>\n\n            {isTabbedGallery ? (\n              <TabbedGallery\n                items={galleryItems}\n                isAnimated={isGraduate}\n                brandComponentTheme={brandComponentTheme}\n                metrics={galleryMetrics}\n              />\n            ) : (\n              <Gallery\n                items={galleryItems}\n                isAnimated={isGraduate}\n                brandComponentTheme={brandComponentTheme}\n                metrics={galleryMetrics}\n              />\n            )}\n\n            {link && isCTADisplayed ? (\n              <div className=\"mt-8 flex justify-center\">\n                <BrandLink\n                  isNewWindow={link.isNewWindow}\n                  showNewWindowIcon={link.isNewWindow}\n                  url={link.url}\n                  label={link.label}\n                  brandComponentTheme={brandComponentTheme}\n                />\n              </div>\n            ) : null}\n          </div>\n        </AnimateRevealItem>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import * as React from 'react';\n\ntype Props = React.PropsWithChildren<{\n  theme: 'light' | 'dark' | '';\n  enabled: boolean;\n}>;\n\nexport function HamptonHexVisual({ theme, enabled, children }: Props) {\n  if (enabled && theme === 'light') {\n    return (\n      <React.Fragment>\n        <svg\n          aria-hidden=\"true\"\n          data-testid=\"hampton-hex-light\"\n          className=\"invisible absolute left-0 top-0 w-1/3 md:visible\"\n          viewBox=\"0 0 552 107\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M0 0V80.5744L56.1245 96.3995C81.1038 103.432 106.948 107 133 107V106.966C159.052 106.966 184.931 103.398 209.91 96.3648L551.656 0H0Z\"\n            fill=\"white\"\n          />\n        </svg>\n\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  if (enabled && theme === 'dark') {\n    return (\n      <React.Fragment>\n        <svg\n          aria-hidden=\"true\"\n          data-testid=\"hampton-hex-dark\"\n          className=\"invisible absolute left-0 top-0 w-1/3 md:visible\"\n          viewBox=\"0 0 552 107\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M0 0.000488281V80.5749L56.1245 96.4C81.1038 103.433 106.948 107.001 133 107.001V106.966C159.052 106.966 184.931 103.398 209.91 96.3653L551.656 0.000488281H0Z\"\n            fill=\"#002666\"\n          />\n        </svg>\n\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  return children;\n}\n","import cx from 'classnames';\nimport { createCpmComponentDefinition, useCreateManageContentButton } from '@dx-ui/cpm-sdk';\nimport { DynamicGridWOM, DynamicGrid } from '@dx-ui/osc-dynamic-grids';\nimport { extractInstanceIndexFromId } from '../../utils';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { HamptonHexVisual } from './HamptonHexVisual';\nimport { sendReward } from '@dx-ui/framework-conductrics';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  '3-6-9 Grid',\n\n  function mapData({ data, addIssue, clearIssue }) {\n    const asset = data.cpmAssets[0];\n\n    if (!asset) {\n      addIssue({\n        id: data.id,\n        message: `\"${data.name || data.displayName}\" has no image - please attach one`,\n      });\n    } else {\n      clearIssue(data.id);\n    }\n\n    const modalImageUrl = data.cpmAssets?.[0]?.aspectRatios['3x2']?.url;\n\n    return {\n      id: data.id ?? '',\n      imageUrl: asset?.aspectRatios['3x2']?.url ?? '',\n      imageAltTxt: asset?.altText ?? '',\n      headline: data.headline,\n      shortDescription: data.shortDescription,\n      link: data.link ?? undefined,\n      links: data.links,\n      itemTitle: data?.label ?? '',\n      captionData: asset?.caption\n        ? {\n            caption: asset?.caption ?? '',\n          }\n        : undefined,\n      modalImageUrl,\n    };\n  },\n\n  function GridThreeSixNine({ items = [], listData, componentParams, mappedPage: { brandCode } }) {\n    const metrics = useMetrics();\n    const createManageContentButton = useCreateManageContentButton();\n\n    const { display } = componentParams;\n    const isWom = display === 'wom';\n\n    const isWA = brandCode === 'WA';\n\n    if (!items.length || !listData) {\n      return null;\n    }\n\n    const { id, headline, description, links, subheading } = listData;\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    const onViewItem = (selectedItemId: string) => {\n      const index = items.findIndex((item) => item.id === selectedItemId);\n      const item = items[index];\n\n      if (item?.experimentationConfiguration && item?.experimentationConfiguration.goal) {\n        const val = Number(item?.experimentationConfiguration.value);\n        sendReward(item?.experimentationConfiguration.goal, Number.isFinite(val) ? val : undefined);\n      }\n\n      metrics.trackGridItemClick?.([\n        {\n          itemNumber: index + 1,\n          totalItems: items.length,\n          gridNumber: extractInstanceIndexFromId(id),\n          is4XGrid: false,\n          label: isWom ? '' : item?.itemTitle ?? '',\n        },\n      ]);\n    };\n\n    const listLink = links[0];\n\n    const isThemeAdded = Boolean(componentParams.theme);\n    const hexEnabled =\n      brandCode === 'HP' && componentParams.backgroundIllustration === 'hx-hexagon';\n\n    if (display === 'wom') {\n      return (\n        <BrandComponentThemeInline\n          componentClassName=\"threeSixNineWOMGrid\"\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration,\n          }}\n        >\n          <HamptonHexVisual theme={componentParams.theme ?? ''} enabled={hexEnabled}>\n            <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n              <div\n                data-testid=\"cpm-grid369-themed-wrapper\"\n                className={cx({\n                  relative: hexEnabled,\n                  'pt-10 pb-16': isThemeAdded,\n                })}\n              >\n                <DynamicGridWOM\n                  textAlign={componentParams.listTextAlign}\n                  isAnimated={componentParams.animation}\n                  listSubheading={subheading ?? ''}\n                  imageAspectRatio=\"3:2\"\n                  listHeadline={headline ?? undefined}\n                  listDescription={description ?? undefined}\n                  id={id}\n                  link={listLink}\n                  items={itemsWithManageContentButton}\n                  brandComponentTheme={componentParams.theme}\n                />\n              </div>\n            </AnimateRevealItem>\n          </HamptonHexVisual>\n        </BrandComponentThemeInline>\n      );\n    } else {\n      return (\n        <BrandComponentThemeInline\n          componentClassName=\"threeSixNineGrid\"\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration,\n          }}\n        >\n          <HamptonHexVisual theme={componentParams.theme ?? ''} enabled={hexEnabled}>\n            <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n              <div\n                data-testid=\"cpm-grid369-themed-wrapper\"\n                className={cx('relative', {\n                  'md:pt-10 md:pb-16': isThemeAdded,\n                })}\n              >\n                <DynamicGrid\n                  textAlign={componentParams.listTextAlign}\n                  listDescription={description ?? undefined}\n                  listHeadline={headline ?? undefined}\n                  id={id}\n                  imageAspectRatio=\"3:2\"\n                  items={itemsWithManageContentButton}\n                  onViewItem={onViewItem}\n                  brandComponentTheme={componentParams.theme}\n                  isAnimated={isWA}\n                  variant=\"card\"\n                />\n              </div>\n            </AnimateRevealItem>\n          </HamptonHexVisual>\n        </BrandComponentThemeInline>\n      );\n    }\n  }\n);\n","export { default } from './cpm-component-definition';\n","type Props = React.PropsWithChildren<{\n  theme: 'light' | 'dark' | '';\n  enabled: boolean;\n}>;\n\nexport function HamptonHexVisual({ theme, enabled, children }: Props) {\n  if (enabled && theme === 'light') {\n    return (\n      <div className=\"relative\">\n        <svg\n          aria-hidden=\"true\"\n          data-testid=\"hampton-hex-light\"\n          className=\"invisible absolute right-0 top-0 w-4/6 max-w-3xl md:visible\"\n          viewBox=\"0 0 770 167\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            fill=\"#fff\"\n            d=\"M631.553 167a283.534 283.534 0 0 1-76.876-10.601L0 0h769.553v139.138l-61.09 17.226a283.773 283.773 0 0 1-76.91 10.601V167Z\"\n          />\n        </svg>\n\n        <div className=\"relative\">{children}</div>\n      </div>\n    );\n  }\n\n  if (enabled && theme === 'dark') {\n    return (\n      <div className=\"relative\">\n        <svg\n          aria-hidden=\"true\"\n          data-testid=\"hampton-hex-dark\"\n          className=\"invisible absolute right-0 top-0 w-4/6 max-w-3xl md:visible\"\n          viewBox=\"0 0 770 167\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            fill=\"#002666\"\n            d=\"M631.553 167a283.534 283.534 0 0 1-76.876-10.601L0 0h769.553v139.138l-61.09 17.226a283.773 283.773 0 0 1-76.91 10.601V167Z\"\n          />\n        </svg>\n\n        <div className=\"relative\">{children}</div>\n      </div>\n    );\n  }\n\n  return children;\n}\n","import { createCpmComponentDefinition, useCreateManageContentButton } from '@dx-ui/cpm-sdk';\nimport type { StructuredAsset } from '@dx-ui/cpm-sdk';\n\nimport { HalfAndHalf as HalfAndHalfOsc, HalfAndHalfCarousel } from '@dx-ui/osc-marketing';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport cx from 'classnames';\nimport { mapMultimediaListToVideoProps } from '@dx-ui/osc-video-player';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { HamptonHexVisual } from './HamptonHexVisual';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\nconst odd = (index: number) => index * 2 + 1;\nconst even = (index: number) => index * 2;\n\nexport function getForcedIndex(\n  index: number,\n  imageDisplay: 'left' | 'right' | 'alternate' | 'round' | 'none'\n) {\n  const isOddIndex = imageDisplay === 'right';\n  const isEvenIndex = imageDisplay === 'left';\n\n  return isOddIndex ? odd(index) : isEvenIndex ? even(index) : index;\n}\n\nconst transformImages = (imagesArray: StructuredAsset[]) => {\n  return imagesArray.map((image) => ({\n    alt: image.altText || '',\n    url: image.aspectRatios['3x2']?.url || '',\n    captionData:\n      image.caption || image.captionLink\n        ? {\n            caption: image.caption || '',\n            captionLink: image.captionLink || '',\n          }\n        : undefined,\n  }));\n};\n\nexport default createCpmComponentDefinition(\n  'Half & Half',\n\n  function mapData({ data, componentParams: { imageDisplay }, index, mappedPage }) {\n    // in order to lean all of the components left or right, we can force index\n    // of all items to be either odd or even\n    const forcedIndex = getForcedIndex(index, imageDisplay);\n    const asset = data.cpmAssets[0];\n    const assets = data.cpmAssets;\n    const filteredAssets =\n      assets?.filter((image): image is StructuredAsset => image !== undefined) || [];\n    const carouselImages = assets ? transformImages(filteredAssets) : undefined;\n\n    const imageUrl = asset?.aspectRatios['3x2']?.url ?? '';\n    const captionData = asset\n      ? {\n          captionLink: asset.captionLink,\n          caption: asset.caption,\n        }\n      : undefined;\n    const imageAltText = asset?.altText ?? '';\n    const videoData = data?.videos?.[0];\n    const video = videoData\n      ? {\n          source: videoData.source || '',\n          title: videoData?.name || '',\n          url: videoData.url,\n        }\n      : undefined;\n\n    const multimedia = data?.multimedia?.length\n      ? mapMultimediaListToVideoProps({ multimedia: data.multimedia, mappedPage })\n      : undefined;\n\n    const link = data.link;\n\n    return {\n      imageUrl,\n      captionData,\n      imageAltText,\n      carouselImages,\n      index: forcedIndex,\n      links: data.links,\n      headline: data?.headline ?? undefined,\n      description: data?.shortDescription ?? undefined,\n      media: {\n        multimedia,\n        video,\n      },\n      link:\n        link?.url && link.label\n          ? {\n              label: link.label,\n              url: link.url,\n              isNewWindow: link.isNewWindow || false,\n              adaDescription: link.adaDescription ?? '',\n              experimentationConfiguration: link.experimentationConfiguration,\n            }\n          : undefined,\n    };\n  },\n\n  function HalfAndHalf({ items = [], listData: data, componentParams, mappedPage: { brandCode } }) {\n    const createManageContentButton = useCreateManageContentButton();\n    const isLXR = brandCode === 'OL';\n\n    if (!items.length) {\n      return null;\n    }\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    const isDark = componentParams?.theme === 'dark';\n    const isLight = componentParams?.theme === 'light';\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <HamptonHexVisual\n          theme={componentParams.theme ?? ''}\n          enabled={brandCode === 'HP' && componentParams.backgroundIllustration === 'hx-hexagon'}\n        >\n          {data?.headline || data?.description ? (\n            <div\n              className={cx('brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12', {\n                'text-left': componentParams.listTextAlign === 'left',\n                'text-center': componentParams.listTextAlign === 'center',\n                'text-right': componentParams.listTextAlign === 'right',\n              })}\n            >\n              {data?.headline && (\n                <BrandTextHeader\n                  className={cx({\n                    '!text-text-inverse': isDark,\n                    'brand-ht:text-text-inverse': isLight,\n                  })}\n                >\n                  {data?.headline}\n                </BrandTextHeader>\n              )}\n\n              {data?.description && (\n                <BrandTextBody\n                  className={cx('font-sans', {\n                    'text-text-inverse': isDark,\n                    'brand-ht:text-text-inverse': isLight,\n                  })}\n                  brandComponentTheme={componentParams.theme}\n                >\n                  {data?.description}\n                </BrandTextBody>\n              )}\n            </div>\n          ) : null}\n          {componentParams?.display === 'fullCarousel' ? (\n            <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n              <HalfAndHalfCarousel\n                isReverse={isLXR}\n                brandComponentTheme={componentParams.theme}\n                id={data?.id ?? ''}\n                hasParallax={isLXR}\n                carouselItems={itemsWithManageContentButton}\n                index={componentParams.imageDisplay === 'right' ? 1 : 0}\n                isFullScreen={componentParams.noMargin ? true : false}\n                mediaRatio={componentParams?.mediaRatio}\n              />\n            </AnimateRevealItem>\n          ) : null}\n          {componentParams?.display !== 'fullCarousel'\n            ? itemsWithManageContentButton.map((item) => {\n                return (\n                  <AnimateRevealItem\n                    key={`${item.index}-${item?.headline}`}\n                    delay={0}\n                    animationType=\"fade-in-up\"\n                    isAnimated={brandCode === 'GU'}\n                  >\n                    <HalfAndHalfOsc\n                      brandComponentTheme={componentParams.theme}\n                      id={data?.id ?? ''}\n                      hasParallax={isLXR}\n                      hasImageCarousel={componentParams?.display === 'imageCarousel'}\n                      isFullScreen={componentParams.noMargin ? true : false}\n                      mediaRatio={componentParams?.mediaRatio}\n                      {...item}\n                    />\n                  </AnimateRevealItem>\n                );\n              })\n            : null}\n        </HamptonHexVisual>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { createCpmComponentDefinition, useCreateManageContentButton } from '@dx-ui/cpm-sdk';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { ImageHeadliner, ImageHeadlinerItem } from '@dx-ui/osc-marketing';\n\nexport default createCpmComponentDefinition(\n  'Image Headliner',\n\n  function mapData({ data }) {\n    const { headline, link } = data;\n\n    const asset = data.cpmAssets?.[0];\n\n    const imageUrl = asset?.aspectRatios['3x2']?.url;\n    const imageAltText = asset?.altText;\n\n    return {\n      headline,\n      id: `ImageHeadlinerItem-${data.id}`,\n      imageAltText,\n      imageUrl,\n      link: link?.url ? link : undefined,\n      links: data.links,\n    };\n  },\n\n  function CpmImageHeadliner({ items = [], componentParams, mappedPage: { brandCode } }) {\n    const createManageContentButton = useCreateManageContentButton();\n\n    if (!items.length) {\n      return null;\n    }\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    return (\n      <BrandComponentThemeInline componentParams={componentParams} brandCode={brandCode}>\n        <ImageHeadliner brandComponentTheme={componentParams?.theme}>\n          {itemsWithManageContentButton.map((props, index) => (\n            <ImageHeadlinerItem\n              key={props.id}\n              headline={props.headline}\n              id={props.id}\n              imageAltText={props.imageAltText}\n              imageUrl={props.imageUrl}\n              link={props.link}\n              index={index}\n              brandComponentTheme={componentParams?.theme}\n              cmsDocumentControl={props.cmsDocumentControl}\n              cmsTranslationClasses={props.cmsTranslationClasses}\n            />\n          ))}\n        </ImageHeadliner>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { useRef } from 'react';\nimport cx from 'classnames';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { useTranslation } from 'next-i18next';\nimport { ResponsiveImage, getCurrentAspectRatioAndUrl } from '@dx-ui/osc-responsive-image';\nimport type { AspectRatio } from '@dx-ui/osc-responsive-image';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\n\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { Link as LinkType } from '@dx-ui/osc-link';\nimport Image from 'next/image';\nimport { useRect } from '@dx-ui/utilities-use-rect';\n\nexport const isReducedMotion =\n  typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n    ? window.matchMedia('(prefers-reduced-motion: reduce)').matches\n    : true;\n\nexport type HeroImageType = {\n  /**\n   * CPM ONLY: Dark opacity or Light opacity or none.\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /**\n   * Caption link and text\n   */\n  captionData?: CaptionProps;\n  aspectRatios?: {\n    /**\n     * Aspect Ratio of the Image at 1280px +\n     */\n    desktop: AspectRatio;\n    /**\n     * Aspect Ratio of the Image at 0px - 1280px\n     */\n    mobile: AspectRatio;\n  };\n  /**\n   * Text content box alignment, center is default\n   */\n  alignContent?: CmsAlignContent;\n  /**\n   * Main headline of component\n   */\n  headline?: string;\n  /**\n   * Similar to a subheadline\n   */\n  shortDescription?: string;\n  /**\n   * Provides the long description\n   */\n  longDescription?: string | null;\n  /**\n   * OSC-Link\n   */\n  link?: (LinkType & { experimentationConfiguration?: CmsExperimentationConfiguration }) | null;\n  /**\n   * Allows animations to run when true, CMS option\n   */\n  isAnimated?: boolean;\n  /**\n   * Used to add or remove Horizontal Line between content, default 'false'\n   */\n  hasHorizontalLine?: boolean;\n  /**\n   * Small image icon in the upper left corner\n   */\n  badgeImageUrl?: string | null;\n  /**\n   * Small image icon alt text\n   */\n  badgeImageAltText: string;\n  /**\n   * Opens a gallery of additional images/information\n   */\n  hasGalleryButton?: boolean;\n  /**\n   * Alternative text of the Image (a11y)\n   */\n  imageAltText: string;\n  /**\n   * URL of the Image at 1280px +\n   */\n  image: {\n    desktopUrl: string;\n    mobileUrl: string;\n  };\n  /**\n   * Space for a brand specific illustration overlay component\n   */\n  illustrationOverlay?: React.ReactNode;\n  forTheStayIllustration?: React.ReactNode;\n  captionMetricsOnClick?: () => void;\n  brandLinkMetricsOnClick?: () => void;\n};\n\n/**\n * **Formerly Masthead with Image**\n *\n * The HeroImage is a full screen width image with optional added content, optional caption link, option badge icon, and optional gallery button.\n */\nexport const HeroImage: React.FC<HeroImageType> = ({\n  brandComponentTheme,\n  captionData,\n  image,\n  imageAltText,\n  headline,\n  shortDescription,\n  longDescription,\n  link,\n  aspectRatios = { desktop: '18:5', mobile: '3:2' },\n  alignContent = 'center',\n  isAnimated = false,\n  hasHorizontalLine = false,\n  badgeImageAltText,\n  badgeImageUrl,\n  hasGalleryButton = false,\n  illustrationOverlay,\n  forTheStayIllustration,\n  captionMetricsOnClick,\n  brandLinkMetricsOnClick,\n}) => {\n  const { t } = useTranslation('osc-hero-image');\n  const { ref: intersectionRef, isIntersecting: inView } = useIntersectionObserver({\n    threshold: [0.15],\n    freezeOnceVisible: true,\n  });\n  const attachedContentAnimate = !isReducedMotion && isAnimated ? intersectionRef : null;\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n\n  if (!image) {\n    return null;\n  }\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const isCenter = alignContent === 'center';\n  const isLeft = alignContent === 'left';\n  const isRight = alignContent === 'right';\n\n  const { imageUrl, aspectRatio } = getCurrentAspectRatioAndUrl({\n    width: rect?.width || 0,\n    imageUrlMobile: image.mobileUrl,\n    imageUrlTablet: image.mobileUrl,\n    imageUrlDesktop: image.desktopUrl,\n    aspectRatioMobile: aspectRatios.mobile,\n    aspectRatioTablet: aspectRatios.mobile,\n    aspectRatioDesktop: aspectRatios.desktop,\n  });\n\n  return (\n    <div\n      data-testid=\"heroImageContainer\"\n      className=\"relative block w-full overflow-hidden\"\n      ref={ref}\n    >\n      <ResponsiveImage\n        aspectRatio={aspectRatio}\n        imageUrl={imageUrl}\n        altText={imageAltText}\n        width={rect?.width ?? 0}\n        captionData={captionData}\n        onClick={captionMetricsOnClick}\n      />\n\n      <div className=\"flex\">\n        {badgeImageUrl ? (\n          <div className=\"absolute top-12 ms-5 aspect-square h-24 sm:top-20 sm:h-44 xl:ms-10 xl:h-52\">\n            <Image className=\"object-contain\" src={badgeImageUrl} alt={badgeImageAltText} fill />\n          </div>\n        ) : null}\n\n        {hasGalleryButton ? (\n          <button\n            type=\"button\"\n            className={cx(\n              'btn btn-sm btn-primary-outline bg-bg brand-qq:rounded-none brand-ol:rounded-none brand-wa:rounded-none brand-wa:font-normal brand-wa:uppercase absolute top-20 border-0 ltr:right-5 ltr:xl:right-10 rtl:left-5 rtl:xl:left-10',\n              {\n                'btn bg-bg-dark text-text-inverse': isDark,\n              }\n            )}\n          >\n            <div className=\"container px-0\">\n              {t('galleryButton')}\n              <svg\n                className={cx('fill-primary inline max-h-4 pl-1 pr-3 rtl:pl-3 rtl:pr-1', {\n                  'fill-text-inverse': isDark,\n                })}\n                viewBox=\"0 0 24 24\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                <path d=\"m0 0v24h24v-24z\" fill=\"none\" />\n                <rect height=\"9\" rx=\"1.5\" width=\"9\" x=\"4.5\" y=\"10.5\" />\n                <path d=\"m16 16.5c.28 0 .5-.22.5-.5v-6c0-1.38-1.12-2.5-2.5-2.5h-6c-.28 0-.5.22-.5.5s.22.5.5.5h6c.83 0 1.5.67 1.5 1.5v6c0 .28.22.5.5.5z\" />\n                <path d=\"m19 13.5c.28 0 .5-.22.5-.5v-6c0-1.38-1.12-2.5-2.5-2.5h-6c-.28 0-.5.22-.5.5s.22.5.5.5h6c.83 0 1.5.67 1.5 1.5v6c0 .28.22.5.5.5z\" />\n              </svg>\n            </div>\n          </button>\n        ) : null}\n      </div>\n\n      {headline || shortDescription || longDescription || link ? (\n        <div\n          data-testid=\"testCssThemeVariant\"\n          ref={attachedContentAnimate}\n          className={cx(\n            'brand-nd:bg-bg brand-wa:pb-16 brand-wa:xl:pb-20 relative z-10 w-full pb-8 xl:pb-12',\n            {\n              'bg-bg-light brand-hi-refresh:bg-bg brand-gu:bg-quarternary brand-ou:bg-secondary':\n                isLight,\n              'bg-bg-dark brand-es:bg-bg brand-gu:bg-quarternary brand-hi-refresh:bg-bg brand-ou:bg-secondary brand-ey:bg-bg-light':\n                isDark,\n              'brand-ou:bg-bg-light': !isDark && !isLight,\n            }\n          )}\n        >\n          <div\n            data-testid=\"heroImageTextBoxContainerTest\"\n            className={cx('container flex flex-col', {\n              'items-end': isRight,\n              'items-start': isLeft,\n              'items-center': isCenter,\n            })}\n          >\n            <div\n              className={cx(\n                'brand-gu:!bg-opacity-100 image-corner-radius relative -mt-20 mb-0 w-full bg-[#f4f4f4] !bg-opacity-90 px-6 py-8 sm:px-12 xl:-mt-28 xl:px-16 xl:py-12',\n                'brand-es:shadow-xl',\n                'brand-gu:shadow-xl',\n                'brand-hi-refresh:shadow-xl',\n                'brand-nd:shadow-xl',\n                'brand-wa:shadow-xl',\n                {\n                  'sm:max-w-xl 2xl:max-w-2xl': isRight || isLeft,\n                  'brand-es:bg-bg brand-ey:bg-bg brand-gu:bg-bg-light brand-hi-refresh:bg-bg-light brand-lx:bg-bg-light brand-nd:bg-bg-light brand-ou:bg-bg-light':\n                    isLight,\n                  'brand-es:bg-bg-dark brand-ey:bg-bg-dark brand-gu:bg-bg-dark brand-hi-refresh:bg-bg-dark brand-nd:bg-bg-dark brand-ou:bg-bg-dark':\n                    isDark,\n                  'brand-es:bg-bg brand-ey:bg-bg-light brand-hi-refresh:bg-bg brand-nd:bg-bg brand-gu:bg-quarternary brand-ou:bg-secondary brand-lx:bg-bg':\n                    !isDark && !isLight,\n                }\n              )}\n            >\n              {forTheStayIllustration ? forTheStayIllustration : null}\n\n              {headline ? (\n                <BrandTextHeader\n                  className={cx(\n                    'sm:heading-4xl heading-xl 2xl:heading-5xl whitespace-normal text-center delay-150 xl:text-center',\n                    'brand-qq:heading-6xl brand-qq:2xl:heading-7xl',\n                    'brand-wa:xl:heading-4xl',\n                    {\n                      'sm:text-left': isLeft || isRight,\n                      'sm:text-center': isCenter,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                      'pb-3': hasHorizontalLine && !shortDescription,\n                      'brand-es:text-text-inverse brand-ey:text-text-inverse brand-gu:text-text-inverse brand-hi-refresh:text-text-inverse brand-nd:text-text-inverse brand-ou:text-text-inverse':\n                        isDark,\n                    }\n                  )}\n                >\n                  {headline}\n                </BrandTextHeader>\n              ) : null}\n\n              {shortDescription ? (\n                <BrandTextBody\n                  className={cx(\n                    '!text-primary pb-3 text-center font-sans !text-xl font-bold delay-300 xl:text-center',\n                    'brand-qq:tracking-[.25em] brand-qq:uppercase brand-qq:text-primary brand-qq:!text-sm brand-qq:2xl:text-base',\n                    {\n                      'sm:text-left': isLeft || isRight,\n                      'sm:text-center': isCenter,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                      'brand-es:!text-text-inverse brand-ey:!text-text-inverse brand-gu:!text-text-inverse brand-hi-refresh:!text-text-inverse brand-nd:!text-text-inverse brand-ou:!text-text-inverse':\n                        isDark,\n                    }\n                  )}\n                  brandComponentTheme={brandComponentTheme}\n                >\n                  {shortDescription}\n                </BrandTextBody>\n              ) : null}\n\n              {hasHorizontalLine ? (\n                <hr\n                  className={cx(\n                    'border-text-alt border-t pb-6',\n                    'brand-qq:border-t-2 brand-qq:border-[#cccccc]',\n                    {\n                      'opacity-100 translate-y-2': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                      'brand-ey:border-bg-light brand-gu:border-bg brand-hi-refresh:border-bg-light brand-nd:border-bg brand-ou:border-secondary':\n                        isDark,\n                      'brand-hi-refresh:border-primary': !isDark,\n                    }\n                  )}\n                />\n              ) : null}\n\n              {longDescription ? (\n                <BrandTextBody\n                  className={cx(\n                    'whitespace-normal pb-5 text-center text-sm font-normal tracking-normal sm:pb-6 xl:pb-8 xl:text-center',\n                    'brand-qq:text-primary brand-qq:!text-base brand-qq:2xl:!text-xl',\n                    {\n                      'sm:text-left': isLeft || isRight,\n                      'sm:text-center': isCenter,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                      'brand-es:text-text-inverse brand-es:[&>div>p>a]:text-text-inverse brand-es:[&>div>a]:text-text-inverse':\n                        isDark,\n                      'brand-ey:text-text-inverse brand-ey:[&>div>p>a]:text-text-inverse brand-ey:[&>div>a]:text-text-inverse':\n                        isDark,\n                      'brand-gu:text-text-inverse brand-gu:[&>div>p>a]:text-text-inverse brand-gu:[&>div>a]:text-text-inverse':\n                        isDark,\n                      'brand-hi-refresh:text-text-inverse brand-hi-refresh:[&>div>p>a]:text-text-inverse brand-hi-refresh:[&>div>a]:text-text-inverse':\n                        isDark,\n                      'brand-nd:text-text-inverse brand-nd:[&>div>p>a]:text-text-inverse brand-nd:[&>div>a]:text-text-inverse':\n                        isDark,\n                      'brand-ou:text-text-inverse brand-ou:[&>div>p>a]:text-text-inverse brand-ou:[&>div>a]:text-text-inverse':\n                        isDark,\n                    }\n                  )}\n                >\n                  {longDescription}\n                </BrandTextBody>\n              ) : null}\n\n              {link ? (\n                <div\n                  className={cx('text-center delay-700 xl:text-center', {\n                    'sm:text-left': isLeft || isRight,\n                    'sm:text-center': isCenter,\n                    'opacity-100 translate-y-0': inView && isAnimated,\n                    'translate-y-4': !inView && isAnimated,\n                    'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                      isAnimated,\n                  })}\n                >\n                  <BrandLink\n                    label={link.label}\n                    isNewWindow={link.isNewWindow}\n                    showNewWindowIcon={link.isNewWindow}\n                    url={link.url}\n                    brandComponentTheme={brandComponentTheme}\n                    data-conductrics-goal={link.experimentationConfiguration?.goal}\n                    data-conductrics-value={link.experimentationConfiguration?.value}\n                    anchorClassName={cx({\n                      '!btn-primary brand-ht:border-none': isDark,\n                      'brand-es:!bg-bg brand-es:!text-primary brand-es:hover:!bg-bg-dark brand-es:hover:!text-text-inverse brand-es:hover:!border-bg brand-es:focus:!bg-bg-dark brand-es:focus:!text-text-inverse brand-es:focus:!border-bg':\n                        isDark,\n                      'brand-ey:!bg-bg-light brand-ey:!text-primary brand-ey:hover:!bg-quarternary brand-ey:!border-none brand-ey:hover:!text-primary-alt brand-ey:focus:!bg-quarternary brand-ey:focus:!text-primary-alt':\n                        isDark,\n                      'brand-gu:!bg-transparent brand-gu:hover:!text-secondary brand-gu:hover:decoration-secondary':\n                        isDark,\n                      'brand-hi-refresh:!bg-bg brand-hi-refresh:!text-primary brand-hi-refresh:border-none brand-hi-refresh:hover:!bg-bg-light brand-hi-refresh:hover:!text-primary brand-hi-refresh:focus:!bg-bg-light brand-hi-refresh:focus:!text-primary':\n                        isDark,\n                      'brand-nd:!bg-bg brand-nd:!text-primary brand-nd:hover:!bg-primary-alt brand-nd:hover:!text-text-inverse brand-nd:focus:!bg-primary-alt brand-nd:focus:!text-text-inverse':\n                        isDark,\n                      'brand-ou:rounded-full brand-ou:!btn-quarternary brand-ou:!text-primary brand-ou:!border-primary brand-ou:hover:!text-quarternary brand-ou:hover:!border-quarternary':\n                        isDark,\n                      'brand-qq:!bg-transparent brand-qq:hover:!bg-transparent brand-qq:hover:!border-primary brand-qq:!btn-primary-outline brand-qq:!border-primary':\n                        isDark,\n                      'brand-wa:!text-primary brand-wa:tracking-[1px] brand-wa:font-normal brand-wa:uppercase brand-wa:underline brand-wa:underline-offset-8 brand-wa:decoration-2 brand-wa:!bg-transparent brand-wa:border-none brand-wa:px-0':\n                        isDark,\n                      'brand-ht:!btn-primary brand-ht:!text-text-inverse': isLight,\n                    })}\n                    metricsOnClick={brandLinkMetricsOnClick}\n                  />\n                </div>\n              ) : null}\n            </div>\n          </div>\n        </div>\n      ) : null}\n      {illustrationOverlay}\n    </div>\n  );\n};\n\nexport default HeroImage;\n","export * from './lib/hero-image';\n","import type * as React from 'react';\nimport { useRef } from 'react';\nimport cx from 'classnames';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport type { VideoPlayerProps } from '@dx-ui/osc-video-player';\nimport {\n  Video,\n  VideoCaptions,\n  VideoControls,\n  VideoPlayerMarkup,\n  VideoTranscript,\n  useVideoPlayer,\n} from '@dx-ui/osc-video-player';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { Link as LinkType } from '@dx-ui/osc-link';\nimport Image from 'next/image';\nimport { getIsReducedMotion } from '@dx-ui/utilities-accessibility';\n\ntype VideoType = React.ComponentProps<typeof Video>;\n\nexport type HeroVideoType = VideoPlayerProps &\n  Pick<VideoType, 'posterImageUrl'> & {\n    videoElement?: VideoType['videoElement'];\n    /**\n     * CPM ONLY: Dark color theme or Light color theme.\n     */\n    brandComponentTheme?: CmsBrandComponentTheme;\n    /**\n     * Text content box alignment, center is default\n     */\n    alignContent?: CmsAlignContent;\n    /**\n     * Main headline of component\n     */\n    headline?: string;\n    /**\n     * Similar to a subheadline\n     */\n    shortDescription?: string;\n    /**\n     * Provides the long description\n     */\n    longDescription?: string | null;\n    /**\n     * OSC-Link\n     */\n    link?: (LinkType & { experimentationConfiguration?: CmsExperimentationConfiguration }) | null;\n    /**\n     * Allows animations to run when true, CMS option, default 'false'\n     */\n    isAnimated?: boolean;\n    /**\n     * Used to add or remove Horizontal Line between content, default 'false'\n     */\n    hasHorizontalLine?: boolean;\n    /**\n     * Small image icon in the upper left corner\n     */\n    badgeImageUrl?: string | null;\n    /**\n     * Small image icon alt text\n     */\n    badgeImageAltText: string;\n    /**\n     * Caption data\n     */\n    videoCaptionData?: VideoType['captionData'];\n    /**\n     * Markup schema\n     */\n    markupSchemas?: React.ComponentProps<typeof VideoPlayerMarkup>['markupSchemas'];\n    /**\n     * Space for a brand specific illustration overlay component\n     */\n    illustrationOverlay?: React.ReactNode;\n    /**\n     * Only for loops and cinemagraphs\n     */\n    altText?: string;\n    /**\n     * Show / Hide the volume button\n     */\n    isMuted?: boolean;\n  };\n\n/**\n * **Formerly Masthead with Video**\n *\n * The HeroVideo is a full screen width video from Cloudinary with video controls, optional added content, option badge icon, and optional gallery button.\n */\nexport const HeroVideo: React.FC<HeroVideoType> = ({\n  brandComponentTheme,\n  headline,\n  link,\n  shortDescription,\n  longDescription,\n  alignContent = 'center',\n  isAnimated = false,\n  hasHorizontalLine = false,\n  badgeImageAltText,\n  badgeImageUrl,\n  videoUrl,\n  videoGroup,\n  videoLabel,\n  videoName,\n  posterImageUrl,\n  isAutoPlay = true,\n  videoCaptionData,\n  audioTracks,\n  captionTracks,\n  transcriptTracks,\n  markupSchemas,\n  illustrationOverlay,\n  altText,\n  isMuted,\n}) => {\n  const wrapperElement = useRef<React.ElementRef<'div'>>(null);\n  const { ref: intersectionRef, isIntersecting: inView } = useIntersectionObserver({\n    threshold: [0.15],\n    freezeOnceVisible: true,\n  });\n  const attachedContentAnimate = !getIsReducedMotion() && isAnimated ? intersectionRef : null;\n  const hasAudio = !altText && !isMuted;\n  const { videoProps, videoCaptionProps, videoControlsProps, videoTranscriptProps } =\n    useVideoPlayer({\n      audioTracks,\n      captionTracks,\n      hasAudio,\n      isAutoPlay,\n      transcriptTracks,\n      videoGroup,\n      videoLabel,\n      videoName,\n      videoUrl,\n      wrapperElement,\n    });\n  const hasActiveTranscript = Boolean(videoTranscriptProps?.activeTranscript);\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const isCenter = alignContent === 'center';\n  const isLeft = alignContent === 'left';\n  const isRight = alignContent === 'right';\n\n  return (\n    <div\n      ref={wrapperElement}\n      data-testid=\"heroVideoContainer\"\n      className={cx(\n        'brand-nd:bg-bg brand-ou:bg-bg-light @container/hero-video brand-gu:bg-quarternary relative block w-full overflow-hidden',\n        {\n          'bg-bg brand-ey:bg-bg-light brand-qq:bg-bg-light brand-ou:bg-secondary': isDark,\n          'bg-bg-light brand-hi-refresh:bg-bg brand-lx:bg-bg brand-ht:bg-bg brand-ou:bg-secondary':\n            isLight,\n        }\n      )}\n    >\n      {markupSchemas ? <VideoPlayerMarkup markupSchemas={markupSchemas} /> : null}\n      <div className=\"relative\">\n        <Video\n          videoUrl={videoUrl}\n          posterImageUrl={posterImageUrl}\n          videoId=\"hero-video\"\n          captionData={videoCaptionData}\n          isAutoPlay={isAutoPlay}\n          role={altText ? 'img' : undefined}\n          aria-label={altText ? altText : undefined}\n          {...videoProps}\n        />\n        <VideoCaptions\n          {...videoCaptionProps}\n          className={cx(\n            'absolute bottom-8 left-1/2 z-10 mx-auto w-[calc(100%-2rem)] -translate-x-1/2 text-center',\n            {\n              '@[640px]/hero-video:bottom-28 @[1280px]/hero-video:bottom-40 @[640px]/hero-video:w-full @[640px]/hero-video:max-w-48 @[1024px]/hero-video:max-w-lg @[640px]/hero-video:mb-1':\n                !isRight,\n              '@[640px]/hero-video:bottom-44 @[1280px]/hero-video:bottom-56 @[640px]/hero-video:max-w-fit':\n                isRight,\n            }\n          )}\n          brandComponentTheme={brandComponentTheme}\n        />\n      </div>\n      <div className=\"flex\">\n        {badgeImageUrl ? (\n          <div className=\"absolute top-8 ms-5 aspect-square h-24 sm:h-44 xl:ms-10 xl:h-52\">\n            <Image className=\"object-contain\" src={badgeImageUrl} alt={badgeImageAltText} fill />\n          </div>\n        ) : null}\n      </div>\n      <div className=\"brand-wa:pb-16 brand-wa:xl:pb-20 container relative z-10 pb-8 xl:pb-12\">\n        <div className=\"@[640px]/hero-video:-mt-40 @[1280px]/hero-video:-mt-52 relative -mt-6\">\n          <div\n            className={cx('sm:flex', {\n              'sm:max-w-xl 2xl:max-w-2xl sm:ms-auto': isRight && !hasActiveTranscript,\n            })}\n          >\n            <VideoControls\n              videoVariant={!!altText ? 'cinemagraph' : undefined}\n              {...videoControlsProps}\n              className=\"@[640px]/hero-video:mb-5 mb-2 flex justify-center\"\n              brandComponentTheme={brandComponentTheme}\n            />\n          </div>\n          <VideoTranscript\n            className=\"mb-5 shadow-lg\"\n            {...videoTranscriptProps}\n            brandComponentTheme={brandComponentTheme}\n          />\n          {headline || shortDescription || longDescription || link ? (\n            <div\n              data-testid=\"heroVideoTextBoxContainer\"\n              ref={attachedContentAnimate}\n              className={cx(\n                'bg-bg image-corner-radius mt-0 px-6 py-8 shadow-lg sm:px-12 xl:px-16 xl:py-12',\n                {\n                  'brand-ey:bg-bg-light brand-gu:bg-quarternary brand-ou:bg-secondary':\n                    !isDark && !isLight,\n                  'bg-bg-dark': isDark,\n                  'bg-bg-light brand-ey:bg-bg brand-es:bg-bg': isLight,\n                  'sm:max-w-xl 2xl:max-w-2xl': isRight || isLeft,\n                  'ms-auto': isRight,\n                }\n              )}\n            >\n              {headline ? (\n                <BrandTextHeader\n                  className={cx(\n                    'heading-4xl sm:heading-5xl whitespace-normal text-center delay-150',\n                    {\n                      'sm:text-left lg:heading-5xl': isLeft || isRight,\n                      'sm:text-center lg:heading-6xl': isCenter,\n                      '!text-text-inverse': isDark,\n                      'brand-ht:text-text-inverse': isLight,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                      'pb-2': hasHorizontalLine && !shortDescription,\n                    }\n                  )}\n                >\n                  {headline}\n                </BrandTextHeader>\n              ) : null}\n\n              {shortDescription ? (\n                <BrandTextBody\n                  className={cx(\n                    'text-text-alt brand-qq:!text-sm brand-qq:2xl:!text-base brand-qq:tracking-[.25em] brand-qq:uppercase pb-3 text-center font-sans !text-xl font-bold delay-300',\n                    {\n                      'sm:text-left': isLeft || isRight,\n                      'sm:text-center': isCenter,\n                      'text-text-inverse': isDark,\n                      'brand-ht:text-text-inverse': isLight,\n                      'brand-es:text-primary brand-gu:text-primary brand-lx:text-primary brand-nd:text-primary brand-ou:text-primary brand-qq:text-primary':\n                        !isDark,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                    }\n                  )}\n                  brandComponentTheme={brandComponentTheme}\n                >\n                  {shortDescription}\n                </BrandTextBody>\n              ) : null}\n\n              {hasHorizontalLine ? (\n                <hr\n                  className={cx(\n                    'border-text-alt brand-qq:border-t-2 brand-qq:border-[#cccccc] translate-y-2 border-t pb-6',\n                    {\n                      'border-text-inverse brand-qq:border-text-inverse brand-ou:border-secondary':\n                        isDark,\n                      'brand-ht:border-text-inverse': isLight,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                    }\n                  )}\n                />\n              ) : null}\n\n              {longDescription ? (\n                <BrandTextBody\n                  className={cx(\n                    'text-text brand-qq:text-primary brand-qq:!text-base brand-qq:2xl:!text-xl whitespace-normal pb-5 text-center !text-xl font-normal tracking-normal sm:pb-6 xl:pb-8',\n                    {\n                      'sm:text-left': isLeft || isRight,\n                      'sm:text-center': isCenter,\n                      'text-text-inverse brand-qq:text-text-inverse': isDark,\n                      'brand-ht:text-text-inverse': isLight,\n                      'opacity-100 translate-y-0': inView && isAnimated,\n                      'translate-y-4': !inView && isAnimated,\n                      'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                        isAnimated,\n                    }\n                  )}\n                  brandComponentTheme={brandComponentTheme}\n                >\n                  {longDescription}\n                </BrandTextBody>\n              ) : null}\n\n              {link ? (\n                <div\n                  className={cx('p-0 text-center delay-700', {\n                    'sm:text-left': isLeft || isRight,\n                    'sm:text-center': isCenter,\n                    'opacity-100 translate-y-0': inView && isAnimated,\n                    'translate-y-4': !inView && isAnimated,\n                    'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                      isAnimated,\n                  })}\n                >\n                  <BrandLink\n                    label={link.label}\n                    isNewWindow={link.isNewWindow}\n                    showNewWindowIcon={link.isNewWindow}\n                    url={link.url}\n                    brandComponentTheme={brandComponentTheme}\n                    data-conductrics-goal={link.experimentationConfiguration?.goal}\n                    data-conductrics-value={link.experimentationConfiguration?.value}\n                  />\n                </div>\n              ) : null}\n            </div>\n          ) : null}\n        </div>\n      </div>\n      {illustrationOverlay}\n    </div>\n  );\n};\n\nexport default HeroVideo;\n","export * from './lib/hero-video';\n","import { useRef } from 'react';\nimport cx from 'classnames';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { useTranslation } from 'next-i18next';\nimport { ResponsiveImage, getCurrentAspectRatioAndUrl } from '@dx-ui/osc-responsive-image';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport { Caption } from '@dx-ui/osc-caption';\nimport type { AspectRatio } from '@dx-ui/osc-responsive-image';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { Link as LinkType } from '@dx-ui/osc-link';\nimport Image from 'next/image';\nimport { useRect } from '@dx-ui/utilities-use-rect';\n\nexport const isReducedMotion =\n  typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n    ? window.matchMedia('(prefers-reduced-motion: reduce)').matches\n    : true;\n\nexport type HeroTextOverlayProps = {\n  /**\n   * Dark opacity or Light opacity or none.\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /**\n   * Caption link and text\n   */\n  captionData?: CaptionProps;\n  /**\n   * Text content box alignment, center is default\n   */\n  alignContent?: CmsAlignContent;\n  /**\n   * Main headline of component\n   */\n  headline?: string;\n  /**\n   * Similar to subheadline\n   */\n  shortDescription?: string;\n  /**\n   * Provides the long description\n   */\n  longDescription?: string | null;\n  /**\n   * OSC-Link\n   */\n  link?: (LinkType & { experimentationConfiguration?: CmsExperimentationConfiguration }) | null;\n  /**\n   * Allows animations to run when true, CMS option\n   */\n  isAnimated?: boolean;\n  /**\n   * Alternative text of the Image (a11y)\n   */\n  imageAltText: string;\n  aspectRatios?: {\n    /**\n     * Aspect Ratio of the Image at 1280px +\n     */\n    desktop?: AspectRatio;\n    /**\n     * Aspect Ratio of the Image at 640px - 1280px\n     */\n    tablet?: AspectRatio;\n    /**\n     * Aspect Ratio of the Image at 0px - 640px\n     */\n    mobile?: AspectRatio;\n  };\n  /**\n   * Image URLs.\n   */\n  image: {\n    /**\n     * URL of the Image at 1280px +\n     */\n    desktopUrl: string;\n    /**\n     * URL of the Image at 0px - 1280px\n     */\n    mobileUrl: string;\n  };\n  /**\n   * Small image icon in the upper left corner\n   */\n  badgeImageUrl?: string | null;\n  /**\n   * Small image icon alt text\n   */\n  badgeImageAltText: string;\n  /**\n   * Opens a gallery of additional images/information\n   */\n  hasGalleryButton?: boolean;\n  brandLinkMetricsOnClick?: () => void;\n  captionMetricsOnClick?: () => void;\n};\n\n/**\n * Hero-Text Overlay is a full screen width image with text overlay which includes text, CTA and optional caption. If no additional content, only image will appear.\n */\nexport const HeroTextOverlay = ({\n  captionData,\n  image,\n  imageAltText,\n  alignContent = 'center',\n  headline,\n  shortDescription,\n  longDescription,\n  link,\n  isAnimated = false,\n  badgeImageAltText,\n  badgeImageUrl,\n  hasGalleryButton = false,\n  aspectRatios = { desktop: '16:9', tablet: '1:1', mobile: '9:16' },\n  brandComponentTheme,\n  brandLinkMetricsOnClick,\n  captionMetricsOnClick,\n}: HeroTextOverlayProps) => {\n  const { t } = useTranslation('osc-hero-text-overlay');\n  const { ref: intersectionRef, isIntersecting: inView } = useIntersectionObserver({\n    threshold: [0.15],\n    freezeOnceVisible: true,\n  });\n  const attachedContentAnimate = !isReducedMotion && isAnimated ? intersectionRef : null;\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n  const { desktopUrl: desktopImageUrl, mobileUrl: mobileImageUrl } = image;\n  const {\n    desktop: desktopAspectRatio,\n    tablet: tabletAspectRatio,\n    mobile: mobileAspectRatio,\n  } = aspectRatios;\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const isCenter = alignContent === 'center';\n  const isLeft = alignContent === 'left';\n  const isRight = alignContent === 'right';\n\n  if (!desktopImageUrl || !mobileImageUrl) {\n    return null;\n  }\n\n  const { imageUrl, aspectRatio } = getCurrentAspectRatioAndUrl({\n    width: rect?.width || 0,\n    imageUrlMobile: mobileImageUrl,\n    imageUrlTablet: mobileImageUrl,\n    imageUrlDesktop: desktopImageUrl,\n    aspectRatioMobile: mobileAspectRatio,\n    aspectRatioTablet: tabletAspectRatio,\n    aspectRatioDesktop: desktopAspectRatio,\n  });\n\n  return (\n    <div\n      ref={ref}\n      data-testid=\"heroTextOverlayContainer\"\n      className={cx('brand-qq:bg-bg-light relative overflow-hidden bg-transparent', {\n        'bg-bg-light': isLight,\n        'bg-bg-dark': isDark,\n      })}\n    >\n      <figure className=\"absolute w-full\">\n        <ResponsiveImage\n          imageUrl={imageUrl}\n          aspectRatio={aspectRatio}\n          altText={imageAltText}\n          width={rect?.width ?? 0}\n        />\n        <div className=\"absolute inset-0\">\n          <div\n            data-testid=\"heroOverlayClassTest\"\n            className={cx('bg-bg/70 size-full', {\n              'bg-bg-inverse/60': isDark,\n              'bg-bg/70 brand-ch:bg-bg/80 brand-py:bg-bg/80': isLight,\n            })}\n          />\n        </div>\n        {captionData?.caption ? (\n          <Caption\n            caption={captionData?.caption}\n            captionLink={captionData?.captionLink}\n            metricsOnClick={captionMetricsOnClick}\n          />\n        ) : null}\n      </figure>\n\n      <div className=\"relative inset-0 mt-20 pb-20\">\n        {badgeImageUrl || hasGalleryButton ? (\n          <div className=\"relative flex h-20 justify-between px-5 sm:h-24 md:h-44 xl:h-52\">\n            {badgeImageUrl ? (\n              <div className=\"relative aspect-square h-20 sm:h-24 md:h-44 xl:ms-5 xl:h-52\">\n                <Image\n                  className=\"object-contain\"\n                  data-testid=\"badgeImage\"\n                  src={badgeImageUrl}\n                  alt={badgeImageAltText}\n                  fill\n                />\n              </div>\n            ) : null}\n\n            {hasGalleryButton ? (\n              <div className=\"absolute ltr:right-5 ltr:xl:right-10 rtl:left-5 rtl:xl:left-10\">\n                <button\n                  type=\"button\"\n                  className={cx(\n                    'btn btn-sm btn-primary brand-ol:rounded-none brand-qq:rounded-none brand-wa:rounded-none brand-wa:font-normal brand-wa:uppercase',\n                    {\n                      'btn btn-primary-outline bg-bg hover:bg-bg-alt border-0': isDark,\n                    }\n                  )}\n                >\n                  <div className=\"container px-0\">\n                    {t('galleryButton')}\n                    <svg\n                      className={cx('inline max-h-4 pl-1 pr-3 rtl:pl-3 rtl:pr-1', {\n                        'fill-text-inverse': isLight,\n                        'fill-primary': isDark,\n                        'fill-bg': brandComponentTheme === undefined,\n                      })}\n                      viewBox=\"0 0 24 24\"\n                      xmlns=\"http://www.w3.org/2000/svg\"\n                    >\n                      <path d=\"m0 0v24h24v-24z\" fill=\"none\" />\n                      <rect height=\"9\" rx=\"1.5\" width=\"9\" x=\"4.5\" y=\"10.5\" />\n                      <path d=\"m16 16.5c.28 0 .5-.22.5-.5v-6c0-1.38-1.12-2.5-2.5-2.5h-6c-.28 0-.5.22-.5.5s.22.5.5.5h6c.83 0 1.5.67 1.5 1.5v6c0 .28.22.5.5.5z\" />\n                      <path d=\"m19 13.5c.28 0 .5-.22.5-.5v-6c0-1.38-1.12-2.5-2.5-2.5h-6c-.28 0-.5.22-.5.5s.22.5.5.5h6c.83 0 1.5.67 1.5 1.5v6c0 .28.22.5.5.5z\" />\n                    </svg>\n                  </div>\n                </button>\n              </div>\n            ) : null}\n          </div>\n        ) : null}\n\n        <div className=\"relative block w-full\">\n          <div\n            data-testid=\"heroTextContainerTestClass\"\n            ref={attachedContentAnimate}\n            className={cx('container sm:max-w-xl md:max-w-3xl lg:max-w-5xl xl:max-w-7xl', {\n              'justify-end': isRight,\n              'justify-start': isLeft,\n              'justify-center': isCenter,\n            })}\n          >\n            {shortDescription ? (\n              <BrandTextBody\n                className={cx(\n                  'text-primary pb-3 text-center font-sans text-xl font-bold delay-150 sm:!text-3xl',\n                  {\n                    'sm:text-left': isLeft,\n                    'sm:text-right': isRight,\n                    'sm:text-center': isCenter,\n                    'text-text-inverse': isDark,\n                    'opacity-100 translate-y-0': inView && isAnimated,\n                    'translate-y-4': !inView && isAnimated,\n                    'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                      isAnimated,\n                  }\n                )}\n                brandComponentTheme={brandComponentTheme}\n              >\n                {shortDescription}\n              </BrandTextBody>\n            ) : null}\n\n            {headline ? (\n              <BrandTextHeader\n                className={cx(\n                  'xl:!heading-6xl sm:!heading-4xl heading-2xl 2xl:heading-7xl whitespace-normal break-words pb-2 text-center delay-300',\n                  {\n                    'sm:text-left': isLeft,\n                    'sm:text-right': isRight,\n                    'sm:text-center': isCenter,\n                    '!text-text-inverse brand-ou:!text-text-inverse': isDark,\n                    'opacity-100 translate-y-0': inView && isAnimated,\n                    'translate-y-4': !inView && isAnimated,\n                    'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                      isAnimated,\n                  }\n                )}\n              >\n                {headline}\n              </BrandTextHeader>\n            ) : null}\n\n            {longDescription ? (\n              <BrandTextBody\n                className={cx(\n                  'brand-ou:font-normal whitespace-normal pb-5 text-center text-xl font-bold tracking-normal delay-500 sm:pb-6 sm:!text-2xl xl:pb-8 xl:!text-4xl',\n                  {\n                    'sm:text-left': isLeft,\n                    'sm:text-right': isRight,\n                    'sm:text-center': isCenter,\n                    'text-text-inverse': isDark,\n                    'opacity-100 translate-y-0': inView && isAnimated,\n                    'translate-y-4': !inView && isAnimated,\n                    'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                      isAnimated,\n                  }\n                )}\n                brandComponentTheme={brandComponentTheme}\n              >\n                {longDescription}\n              </BrandTextBody>\n            ) : null}\n\n            {link ? (\n              <div\n                className={cx('p-0 text-center delay-700', {\n                  'sm:text-left': isLeft,\n                  'sm:text-right': isRight,\n                  'sm:text-center': isCenter,\n                  'opacity-100 translate-y-0': inView && isAnimated,\n                  'translate-y-4': !inView && isAnimated,\n                  'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n                    isAnimated,\n                })}\n              >\n                <BrandLink\n                  label={link.label}\n                  isNewWindow={link.isNewWindow}\n                  showNewWindowIcon={link.isNewWindow}\n                  url={link.url}\n                  brandComponentTheme={brandComponentTheme}\n                  data-conductrics-goal={link.experimentationConfiguration?.goal}\n                  data-conductrics-value={link.experimentationConfiguration?.value}\n                  anchorClassName={cx('xl:btn-2xl', {\n                    'border-none': isDark,\n                    'brand-ht:!btn-primary brand-ht:!text-text-inverse': isLight,\n                  })}\n                  metricsOnClick={brandLinkMetricsOnClick}\n                />\n              </div>\n            ) : null}\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n};\n","export * from './lib/hero-text-overlay';\n","let prefersReducedMotion: boolean | null = null;\nexport const getPrefersReducedMotion = () => {\n  if (prefersReducedMotion === null) {\n    prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  }\n  return prefersReducedMotion;\n};\n","import { type PropsWithChildren, useCallback, useEffect, useRef, useState } from 'react';\nimport cx from 'classnames';\nimport { getPrefersReducedMotion } from './get-prefers-reduced-motion';\nimport { CustomMarkdown } from '@dx-ui/osc-custom-markdown';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport { useMediaQuery, useIntersectionObserver } from 'usehooks-ts';\nimport Image from 'next/image';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport { overrideImageUrl } from '@dx-ui/osc-responsive-image';\nimport { VideoControls, VideoPlayerMarkup, useVideoPlayer } from '@dx-ui/osc-video-player';\nimport { type HeroVideo } from '@dx-ui/osc-hero-video';\n\ntype OscDomLink = {\n  adaDescription: string;\n  isNewWindow: boolean;\n  label: string;\n  url: string;\n  experimentationConfiguration?: CmsExperimentationConfiguration;\n};\n\ntype ContentBlock =\n  | { cta: OscDomLink | null; markdown: string }\n  | {\n      cta: OscDomLink | null;\n      headline: string;\n      description: string;\n    };\n\nconst getIsWindowVerticallySmall = () => window.innerHeight < 700;\n\nfunction Content({\n  content,\n  brandComponentTheme,\n}: {\n  content: ContentBlock;\n  brandComponentTheme: CmsBrandComponentTheme | undefined;\n}) {\n  const isDark = brandComponentTheme === 'dark';\n\n  if ('markdown' in content) {\n    return (\n      <div\n        className={cx(\n          'text-text brand-wa:font-serif relative mb-8 mt-4 w-full text-center lg:mt-6 lg:text-xl',\n          {\n            'brand-ey:text-text-inverse brand-gu:text-text-inverse': isDark,\n          }\n        )}\n      >\n        <CustomMarkdown brandComponentTheme={brandComponentTheme}>\n          {content.markdown}\n        </CustomMarkdown>\n      </div>\n    );\n  } else {\n    return (\n      <div className={cx('relative mt-4 w-full text-center')}>\n        <CustomMarkdown brandComponentTheme={brandComponentTheme}>\n          {content.headline}\n        </CustomMarkdown>\n        <div\n          className={cx('text-text brand-wa:font-serif mb-8 mt-4 text-center lg:mt-6 lg:text-xl', {\n            'brand-es:text-text-inverse brand-ey:text-text-inverse brand-gu:text-text-inverse brand-hi-refresh:text-text-inverse brand-nd:text-text-inverse':\n              isDark,\n          })}\n        >\n          <CustomMarkdown brandComponentTheme={brandComponentTheme}>\n            {content.description}\n          </CustomMarkdown>\n        </div>\n      </div>\n    );\n  }\n}\n\ntype CardContentAreaProps = {\n  animationPercent: number;\n  content: ContentBlock;\n  brandComponentTheme: CmsBrandComponentTheme | undefined;\n  brandLinkMetricsOnClick?: () => void;\n} & PropsWithChildren;\nconst CardContentArea = ({\n  animationPercent,\n  content,\n  brandComponentTheme,\n  children,\n  brandLinkMetricsOnClick,\n}: CardContentAreaProps) => {\n  const [isFocused, setIsFocused] = useState(false);\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div\n      className={cx('bg-bg-alt brand-ou:bg-secondary m-auto max-w-full p-12', {\n        'motion-safe:animate-fadeInUp': animationPercent > 0.45 || isFocused,\n        'motion-safe:animate-fadeOutUp motion-safe:opacity-0':\n          animationPercent <= 0.45 && !isFocused,\n        'brand-ey:bg-bg-light brand-gu:bg-bg brand-hi-refresh:bg-bg-light brand-nd:bg-bg-light':\n          isLight,\n        'brand-es:!bg-bg-dark brand-ey:!bg-bg-dark brand-gu:bg-bg-dark brand-hi-refresh:bg-bg-dark brand-nd:bg-bg-dark':\n          isDark,\n        'brand-ey:bg-bg brand-gu:bg-quarternary brand-hi-refresh:bg-bg brand-nd:bg-bg':\n          !isDark && !isLight,\n        'brand-es:bg-bg': !isDark,\n      })}\n    >\n      {children}\n      <div className=\"flex w-full items-center justify-center\">\n        {content.cta && content.cta.label && content.cta.url ? (\n          <BrandLink\n            label={content.cta.label}\n            isNewWindow={content.cta.isNewWindow}\n            showNewWindowIcon={content.cta.isNewWindow}\n            url={content.cta.url}\n            brandComponentTheme={brandComponentTheme}\n            data-conductrics-goal={content.cta.experimentationConfiguration?.goal}\n            data-conductrics-value={content.cta.experimentationConfiguration?.value}\n            onFocus={() => {\n              setIsFocused(true);\n            }}\n            onBlur={() => {\n              setIsFocused(false);\n            }}\n            metricsOnClick={brandLinkMetricsOnClick}\n          />\n        ) : null}\n      </div>\n    </div>\n  );\n};\n\ntype ScrollAnimationProps = {\n  primaryCTA?: {\n    adaDescription: string;\n    isNewWindow: boolean;\n    label: string;\n    url: string;\n  };\n  headline: string;\n  shortDescription?: string;\n  longDescription?: string;\n  video?: Pick<\n    React.ComponentProps<typeof HeroVideo>,\n    'markupSchemas' | 'videoUrl' | 'isAutoPlay' | 'videoName'\n  >;\n  content: ContentBlock | undefined;\n  textAlign?: 'left' | 'right' | 'center';\n  image?: {\n    altText: string;\n    desktopUrl: string;\n    mobileUrl: string;\n  };\n  brandComponentTheme?: CmsBrandComponentTheme;\n  brandLinkMetricsOnClick?: () => void;\n};\n\nexport const ScrollAnimation = ({\n  headline,\n  primaryCTA,\n  shortDescription,\n  longDescription,\n  video,\n  content,\n  image,\n  textAlign = 'center',\n  brandComponentTheme,\n  brandLinkMetricsOnClick,\n}: ScrollAnimationProps) => {\n  const triggerRef = useRef<HTMLDivElement | null>(null);\n  const videoContainerRef = useRef<HTMLDivElement>(null);\n  const [animationPercent, setAnimationPercent] = useState(0);\n  const [showInitialContent, setShowInitialContent] = useState(false);\n  const [shouldAnimateWindow, setShouldAnimateWindow] = useState(false);\n  const videoUrl = video?.videoUrl || '';\n  const { videoProps, videoControlsProps } = useVideoPlayer({\n    videoName: video?.videoName,\n    videoUrl,\n    isAutoPlay: video?.isAutoPlay ?? true,\n    wrapperElement: videoContainerRef,\n    shouldControlsRemainVisible: true,\n    hasAudio: false,\n  });\n\n  const normalise = (val: number, max: number) => val / max;\n\n  const getXOffset = () => {\n    return Math.min(animationPercent, 1) * 100;\n  };\n  const getYOffset = () => {\n    return Math.min(animationPercent, 1) * 200;\n  };\n\n  const getBorderWidth = () => {\n    return `${shouldAnimateWindow ? getXOffset() : 0}px ${\n      shouldAnimateWindow ? getYOffset() : 0\n    }px`;\n  };\n\n  const getButtonOffset = () => {\n    return {\n      start: isMobile ? '20px' : `${shouldAnimateWindow ? 50 + getYOffset() : 40}px`,\n      top: isMobile ? '20px' : `${shouldAnimateWindow ? 40 + getXOffset() : 40}px`,\n    };\n  };\n\n  const { ref: inViewRef, isIntersecting: inView } = useIntersectionObserver({\n    threshold: 0,\n  });\n\n  const isMobile = useMediaQuery('(max-width: 768px)');\n\n  useEffect(() => {\n    const reduceMotion = getPrefersReducedMotion();\n    const verticallySmall = getIsWindowVerticallySmall();\n\n    if (!reduceMotion) {\n      document.documentElement.style.scrollBehavior = 'smooth';\n    }\n    if (reduceMotion || verticallySmall || isMobile) {\n      setShowInitialContent(true);\n    } else {\n      setShouldAnimateWindow(true);\n    }\n    setTimeout(() => {\n      setShowInitialContent(true);\n    }, 1500);\n    // no exhaustive dependencies needed, this should only run on first render\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n\n  useEffect(() => {\n    const handleScroll = () => {\n      if (!showInitialContent) setShowInitialContent(true);\n      if (inView && videoContainerRef?.current && triggerRef?.current) {\n        const triggerRect = triggerRef.current.getBoundingClientRect();\n        const videoRect = videoContainerRef.current.getBoundingClientRect();\n\n        const videoHeight = videoRect.bottom - videoRect.top;\n        const delta = Math.max(videoRect.bottom - triggerRect.bottom, 0);\n\n        const animationPercent = normalise(delta, videoHeight);\n\n        setAnimationPercent(animationPercent * 1.5);\n      }\n    };\n\n    const handleResize = () => {\n      if (getIsWindowVerticallySmall() || isMobile) {\n        setShouldAnimateWindow(false);\n      }\n    };\n\n    window.addEventListener('scroll', handleScroll);\n    window.addEventListener('resize', handleResize);\n\n    return () => {\n      window.removeEventListener('scroll', handleScroll);\n      window.removeEventListener('resize', handleResize);\n    };\n  }, [inView, triggerRef, isMobile, showInitialContent]);\n\n  // This is so we can put the inView ref and an HTML element ref on the same element\n  const setRefs = useCallback(\n    (node: HTMLDivElement) => {\n      triggerRef.current = node;\n      inViewRef(node);\n    },\n    [inViewRef]\n  );\n\n  return (\n    <div className=\"relative mb-40 md:mb-0\">\n      {video?.markupSchemas ? <VideoPlayerMarkup markupSchemas={video.markupSchemas} /> : null}\n\n      <div className=\"z-2 sticky top-0 block h-screen w-px\">\n        {video?.videoUrl ? (\n          <div\n            style={{\n              insetInlineStart: getButtonOffset().start,\n              top: getButtonOffset().top,\n            }}\n            className=\"absolute size-12\"\n          >\n            <VideoControls {...videoControlsProps} />\n          </div>\n        ) : null}\n      </div>\n      {/* Video / Image and Windowing animation area */}\n      <div ref={videoContainerRef} className=\"z-1 sticky top-0 mt-[-100vh] block h-screen\">\n        <div\n          style={{\n            opacity: `${0.7 - Math.min(animationPercent, 1) * 0.7}`,\n            borderWidth: getBorderWidth(),\n          }}\n          className=\"z-1 bg-bg-inverse border-bg absolute size-full\"\n        />\n        <div className={cx('sticky top-0 z-0 block ')}>\n          {videoUrl ? (\n            <video\n              ref={videoProps.videoElement}\n              className=\"h-screen w-screen object-cover object-center\"\n              data-testid=\"background-video\"\n              title={video?.videoName}\n              muted\n              loop\n            >\n              <source data-testid=\"masthead-background-video__track\" src={videoUrl} />\n            </video>\n          ) : null}\n          {!videoUrl && image?.desktopUrl ? (\n            <div className=\"h-screen w-screen\">\n              <Image\n                priority\n                fill\n                alt={image.altText}\n                className=\"hidden object-cover object-center md:block\"\n                src={image.desktopUrl}\n                unoptimized={true}\n              />\n              <Image\n                priority\n                fill\n                alt={image.altText}\n                className=\"block object-cover md:hidden\"\n                src={overrideImageUrl(image.mobileUrl, 600, 500)}\n                unoptimized={true}\n              />\n            </div>\n          ) : null}\n        </div>\n        <div\n          // Windowing effect\n          style={{\n            borderWidth: getBorderWidth(),\n          }}\n          className=\"brand-ou:border-secondary border-bg absolute inset-0 z-0 h-screen w-full overflow-hidden border-solid will-change-transform\"\n        />\n      </div>\n\n      {/* Use this invisible element to take overlap measurements against the video container element. Can add border to debug position. */}\n      <div ref={setRefs} id=\"observerTrigger\" className=\"z-1 relative h-0\" />\n      <div\n        className={cx('z-1 absolute top-0 w-full', {\n          invisible: !showInitialContent,\n          'visible motion-safe:animate-fadeInUp': showInitialContent,\n        })}\n      >\n        <div className=\"max-h-[75vh]\">\n          <div\n            className={cx(\n              'text-text-inverse m-auto mt-[15vh] w-11/12 text-lg md:w-9/12 lg:w-8/12',\n              {\n                'motion-safe:animate-fadeOutUp': animationPercent > 0.15,\n                'motion-safe:animate-fadeInSlow': animationPercent <= 0.15,\n                'text-center': textAlign === 'center',\n                'text-start': textAlign === 'left',\n                'text-end': textAlign === 'right',\n              }\n            )}\n          >\n            {shortDescription ? (\n              <p className=\"brand-wa:font-serif text-xl\">{shortDescription}</p>\n            ) : null}\n            <HeadingLevel className=\"!text-text-inverse heading-3xl sm:heading-4xl lg:heading-6xl mt-4 hyphens-auto\">\n              {headline}\n            </HeadingLevel>\n            {longDescription ? (\n              <p className=\"brand-wa:font-serif mt-6 text-lg lg:text-xl\">{longDescription}</p>\n            ) : null}\n\n            {primaryCTA?.url ? (\n              <div className=\"mt-8\">\n                <BrandLink\n                  label={primaryCTA.label}\n                  isNewWindow={primaryCTA.isNewWindow}\n                  showNewWindowIcon={primaryCTA.isNewWindow}\n                  url={primaryCTA.url}\n                  brandComponentTheme={brandComponentTheme}\n                  metricsOnClick={brandLinkMetricsOnClick}\n                />\n              </div>\n            ) : null}\n          </div>\n          <div\n            // Line decoration\n            className=\"border-bg start-1/2 top-[25vh] mx-auto mt-16 h-[25vh] w-2 border-s-[3px] border-solid opacity-50\"\n          />\n        </div>\n      </div>\n      <div className=\"relative min-h-[90vh]\">\n        <div className=\"z-1 relative m-auto mt-[-20vh] w-1/12 content-center items-start justify-center\">\n          <div\n            // Line decoration\n            className={cx(\n              'border-primary brand-lx:border-brand start-1/2 top-0 m-auto my-6 h-[25vh] w-2 border-s-[3px] border-solid',\n              {\n                'opacity-75': content !== undefined,\n                'opacity-0': content === undefined,\n              }\n            )}\n          />\n        </div>\n        <div\n          className={cx(\n            'z-1 relative m-auto flex min-h-min w-11/12 content-center items-start justify-center md:w-3/5 lg:w-1/2',\n            { 'z-0': animationPercent < 0.85 }\n          )}\n        >\n          {content ? (\n            <CardContentArea\n              animationPercent={Math.min(animationPercent, 1)}\n              content={content}\n              brandComponentTheme={brandComponentTheme}\n              brandLinkMetricsOnClick={brandLinkMetricsOnClick}\n            >\n              <Content content={content} brandComponentTheme={brandComponentTheme} />\n            </CardContentArea>\n          ) : null}\n        </div>\n        <div className=\"z-1 relative m-auto w-1/12 content-center items-start justify-center pb-4\">\n          <div\n            // Line decoration\n            className={cx(\n              'border-primary brand-lx:border-brand start-1/2 m-auto my-6 h-[25vh] w-2 border-s-[3px] border-solid',\n              {\n                'opacity-75': content !== undefined,\n                'opacity-0': content === undefined,\n              }\n            )}\n          />\n        </div>\n      </div>\n    </div>\n  );\n};\n","export * from './ScrollAnimation';\n","export * from './lib';\n","import cx from 'classnames';\nimport { useTranslation } from 'next-i18next';\n\ntype OverlayImageType = {\n  /** content can only show if position is given */\n  shouldAlignContentPosition?: boolean;\n  /** Url for source image/illustration */\n  imageUrl?: string;\n  /** allows for additional custom classes */\n  className?: string;\n};\n\nexport const MastheadOverlayImage: React.FC<OverlayImageType> = ({\n  shouldAlignContentPosition,\n  imageUrl,\n  className,\n}) => {\n  const [t] = useTranslation('cpm-mapping-shared');\n  return (\n    <div className=\"relative -end-8 bottom-0 z-0 -mt-10 ms-auto w-[327px] sm:-mt-32 sm:w-[491px] md:-mt-52 lg:mt-[-340px] lg:w-[703px] xl:mt-[-550px]\">\n      <img\n        className={cx(\n          {\n            'h-64 w-[327px] rtl:scale-x-[-1] object-cover sm:h-96 sm:w-[491px] lg:h-[550px] lg:w-[703px]':\n              shouldAlignContentPosition,\n          },\n          className\n        )}\n        src={imageUrl}\n        alt={t('illustrationAltTextEY')}\n      />\n    </div>\n  );\n};\n\nexport default MastheadOverlayImage;\n","import cx from 'classnames';\n\ninterface ForTheStayOverlayProps {\n  overlayPosition: 'center' | 'left' | 'right';\n}\n\nexport const ForTheStayOverlay = ({ overlayPosition }: ForTheStayOverlayProps) => {\n  return (\n    <div\n      data-testid=\"forTheStayOverlay\"\n      className={cx(\n        'pointer-events-none absolute top-0 w-40 -translate-y-full overflow-hidden pb-0 sm:w-60 sm:pb-4 md:w-80',\n        {\n          'inset-x-1/2 -translate-x-1/2': overlayPosition === 'center',\n          'start-0': overlayPosition === 'left',\n          'end-0': overlayPosition === 'right',\n        }\n      )}\n    >\n      <div className=\"h-24 w-full bg-[url('/modules/assets/img/brand/WW/backgrounds/for-the-stay.svg')] bg-contain bg-center bg-no-repeat\" />\n    </div>\n  );\n};\n","import { ImageFunction, ImageType, ImageClickID, ANALYTICS_NO_VALUE } from '@dx-ui/config-metrics';\nimport type { MastheadImageMetrics } from '../types/masthead-analytics';\n\nexport const MASTHEAD_IMAGE_POSITION = 1;\nexport const MASTHEAD_IMAGE_COUNT = 1;\n\ntype GenerateMastheadAnalyticsParams = {\n  headline: string;\n  itemTitle?: string;\n};\n\nexport const generateMastheadAnalytics = ({\n  headline,\n  itemTitle,\n}: GenerateMastheadAnalyticsParams): MastheadImageMetrics => {\n  const mastheadAnalytics = {\n    click: {\n      clickID: ImageClickID.Img,\n    },\n    osc: {\n      image: {\n        headline: headline || ANALYTICS_NO_VALUE,\n        itemTitle: itemTitle || ANALYTICS_NO_VALUE,\n        position: MASTHEAD_IMAGE_POSITION,\n        count: MASTHEAD_IMAGE_COUNT,\n        type: ImageType.Masthead,\n        function: ImageFunction.Link,\n      },\n    },\n  };\n  return mastheadAnalytics;\n};\n","import { HeroImage } from '@dx-ui/osc-hero-image';\nimport { HeroVideo } from '@dx-ui/osc-hero-video';\nimport { HeroTextOverlay } from '@dx-ui/osc-hero-text-overlay';\n\nimport type { OscDomLink } from '@dx-ui/cpm-sdk';\nimport { CpmMappingError, createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { ScrollAnimation } from '@dx-ui/osc-scroll-animation';\nimport { mapMultimediaListToVideoProps } from '@dx-ui/osc-video-player';\nimport type { VideoPlayerProps } from '@dx-ui/osc-video-player';\nimport { MastheadOverlayImage } from './Masthead-overlay-image';\nimport { ForTheStayOverlay } from './ForTheStayOverlay';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { ANALYTICS_GLOBAL_CLICK_EVENT, trackEvent } from '@dx-ui/config-metrics';\nimport { generateMastheadAnalytics } from './utils/masthead-analytics';\n\ntype VideoHeroProps = Pick<\n  Partial<React.ComponentProps<typeof HeroVideo>>,\n  'posterImageUrl' | 'videoCaptionData' | 'altText'\n> &\n  Partial<VideoPlayerProps>;\n\ntype VideoScrollAnimationProps = Partial<\n  NonNullable<React.ComponentProps<typeof ScrollAnimation>['video']>\n>;\n\ntype VideoData = VideoHeroProps & VideoScrollAnimationProps;\n\nexport default createCpmComponentDefinition(\n  'Masthead Image',\n\n  function mapData({ data, componentParams, addIssue, clearIssue, mappedPage }) {\n    function makeContent() {\n      const markdown = data?.markdownEditor;\n\n      if (markdown) {\n        return {\n          markdown,\n          cta: data?.link,\n        } as { markdown: string; cta: OscDomLink | null };\n      }\n\n      if ((data?.contentBlock?.length ?? 0) > 0) {\n        return {\n          headline: data.contentBlock?.[0]?.heading ?? '',\n          description: data.contentBlock?.[1]?.description ?? '',\n          cta: data?.link || undefined,\n        } as { headline: string; description: string; cta: OscDomLink | null };\n      }\n\n      return undefined;\n    }\n\n    const { link } = data;\n    const asset = data.cpmAssets[0];\n    const multimedia = data.multimedia;\n    const video = data.videos?.[0];\n    let videoData: VideoData = {};\n\n    if (multimedia?.length) {\n      const firstMultimedia = multimedia[0];\n      const multimediaCaption = firstMultimedia?.captionLink;\n      const multimediaCaptionData =\n        multimediaCaption?.linkLabel && multimediaCaption?.linkUrl\n          ? {\n              caption: multimediaCaption.linkLabel,\n              captionLink: multimediaCaption.linkUrl,\n            }\n          : undefined;\n\n      videoData = mapMultimediaListToVideoProps({ multimedia, mappedPage });\n      videoData.videoCaptionData = multimediaCaptionData;\n    }\n\n    if (video) {\n      if (video.source !== 'cloudinary') {\n        throw new CpmMappingError(\n          `Masthead only supports \"cloudinary\" as a video source (${data.contentType} - ${data.displayName})`\n        );\n      }\n\n      const { caption, captionLink } = video;\n\n      videoData.videoUrl = video.url;\n      videoData.videoName = video.name ?? undefined;\n      videoData.videoCaptionData = caption && captionLink ? { caption, captionLink } : undefined;\n    }\n\n    if (!asset && !(video || multimedia)) {\n      addIssue({\n        id: data.id,\n        message: `\"${data.name || data.displayName}\" has no image or video - please attach one`,\n      });\n    } else {\n      clearIssue(data.id);\n    }\n\n    const content = makeContent();\n\n    return {\n      ...videoData,\n      links: data.links,\n      headline: data.headline,\n      longDescription: data?.longDescription,\n      shortDescription: data?.shortDescription,\n      id: data.id,\n      imageAltText: asset?.altText ?? '',\n      image: {\n        desktopUrl: componentParams.scrollingAnimation\n          ? asset?.aspectRatios['16x9']?.url ?? ''\n          : asset?.aspectRatios['18x5']?.url ?? '',\n        mobileUrl: asset?.aspectRatios['3x2']?.url ?? '',\n      },\n      aspectRatios: {\n        desktop: videoData?.videoUrl ? ('21:9' as const) : ('18:5' as const),\n        // We need to set the mobile aspect ratio manually or the video won't render properly\n        mobile: '3:2' as const,\n      },\n      content,\n      captionData: asset\n        ? {\n            captionLink: asset.captionLink,\n            caption: asset.caption,\n          }\n        : {},\n      link: link?.url ? link : null,\n      badgeImageUrl: data.badgeUrl ?? null,\n      badgeImageAltText: 'alt text', //once added we can hook up the appropriate alt text, this field is currently not in CMS\n      staticDisplay: componentParams.display === 'static',\n      textOverlayDisplay: componentParams.display === 'textOverlay',\n      alignContent: componentParams?.textboxPosition || componentParams?.textAlign || undefined,\n      brandComponentTheme: componentParams.theme,\n      isAnimated: componentParams.animation,\n      hasHorizontalLine: componentParams.horizontalLine,\n    };\n  },\n\n  function MastheadImageCpm({ items = [], componentParams, mappedPage: { brandCode, pageType } }) {\n    const {\n      scrollingAnimation,\n      theme,\n      backgroundParallax,\n      backgroundIllustration,\n      textboxPosition,\n    } = componentParams;\n\n    const isHomepage = pageType === 'brandHomepage';\n    const isEY = brandCode === 'EY';\n\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    if (scrollingAnimation && !data.videoUrl && data.image.desktopUrl) {\n      return (\n        <BrandComponentThemeInline componentParams={componentParams} brandCode={brandCode}>\n          <ScrollAnimation\n            headline={data?.headline}\n            shortDescription={data.shortDescription}\n            longDescription={data?.longDescription || undefined}\n            content={data.content}\n            image={{\n              altText: data.imageAltText,\n              ...data.image,\n            }}\n            textAlign={data.alignContent}\n            brandComponentTheme={theme}\n            brandLinkMetricsOnClick={() =>\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generateMastheadAnalytics({\n                  headline: data.headline,\n                  itemTitle: data.content?.cta?.label,\n                })\n              )\n            }\n          />\n        </BrandComponentThemeInline>\n      );\n    }\n    if (scrollingAnimation && data.videoUrl) {\n      return (\n        <BrandComponentThemeInline componentParams={componentParams} brandCode={brandCode}>\n          <ScrollAnimation\n            headline={data?.headline}\n            shortDescription={data.shortDescription}\n            longDescription={data?.longDescription || undefined}\n            content={data.content}\n            video={{\n              videoUrl: data.videoUrl,\n              videoName: data.videoName,\n              isAutoPlay: data.isAutoPlay,\n              markupSchemas: data.markupSchemas,\n            }}\n            textAlign={data.alignContent}\n            brandComponentTheme={theme}\n            brandLinkMetricsOnClick={() =>\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generateMastheadAnalytics({\n                  headline: data.headline,\n                  itemTitle: data.content?.cta?.label,\n                })\n              )\n            }\n          />\n        </BrandComponentThemeInline>\n      );\n    }\n    if (data.staticDisplay && data.videoUrl) {\n      return (\n        <BrandComponentThemeInline\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: backgroundParallax,\n            variant: backgroundIllustration,\n          }}\n        >\n          <HeroVideo\n            headline={data.headline}\n            shortDescription={data.shortDescription}\n            longDescription={data.longDescription}\n            link={data.link}\n            brandComponentTheme={data.brandComponentTheme}\n            videoGroup={data.videoGroup}\n            videoLabel={data.videoLabel}\n            videoName={data.videoName}\n            videoUrl={data.videoUrl}\n            altText={data.altText}\n            isMuted={data.isMuted}\n            posterImageUrl={data.posterImageUrl}\n            captionTracks={data.captionTracks}\n            audioTracks={data.audioTracks}\n            transcriptTracks={data.transcriptTracks}\n            isAutoPlay={data.isAutoPlay}\n            alignContent={data.alignContent}\n            isAnimated={data.isAnimated || brandCode === 'GU'}\n            hasHorizontalLine={data.hasHorizontalLine}\n            badgeImageUrl={data.badgeImageUrl}\n            badgeImageAltText={data.badgeImageAltText}\n            videoCaptionData={data.videoCaptionData}\n            markupSchemas={data.markupSchemas}\n            illustrationOverlay={\n              isEY && isHomepage ? (\n                <MastheadOverlayImage\n                  shouldAlignContentPosition={textboxPosition === 'left'}\n                  imageUrl=\"/modules/assets/img/brand/EY/backgrounds/EY-masthead-illustration.svg\"\n                />\n              ) : null\n            }\n          />\n        </BrandComponentThemeInline>\n      );\n    }\n\n    if (data.textOverlayDisplay && data.image) {\n      return (\n        <BrandComponentThemeInline\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: backgroundParallax,\n            variant: backgroundIllustration,\n          }}\n        >\n          <HeroTextOverlay\n            headline={data.headline}\n            shortDescription={data.shortDescription}\n            longDescription={data.longDescription}\n            link={data.link}\n            captionData={data.captionData}\n            brandComponentTheme={data.brandComponentTheme}\n            image={data.image}\n            imageAltText={data.imageAltText}\n            alignContent={data.alignContent}\n            isAnimated={data.isAnimated}\n            badgeImageUrl={data.badgeImageUrl}\n            badgeImageAltText={data.badgeImageAltText}\n            hasGalleryButton={false}\n            captionMetricsOnClick={() =>\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generateMastheadAnalytics({\n                  headline: data.headline,\n                  itemTitle: data.captionData.caption,\n                })\n              )\n            }\n            brandLinkMetricsOnClick={() =>\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generateMastheadAnalytics({\n                  headline: data.headline,\n                  itemTitle: data.link?.label,\n                })\n              )\n            }\n          />\n        </BrandComponentThemeInline>\n      );\n    }\n\n    return (\n      <BrandComponentThemeInline\n        componentClassName=\"hero-image\"\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: backgroundParallax,\n          variant: backgroundIllustration,\n        }}\n      >\n        <HeroImage\n          headline={data.headline}\n          shortDescription={data.shortDescription}\n          longDescription={data.longDescription}\n          link={data.link}\n          captionData={data.captionData}\n          brandComponentTheme={data.brandComponentTheme}\n          image={data.image}\n          imageAltText={data.imageAltText}\n          alignContent={data.alignContent}\n          isAnimated={data.isAnimated || brandCode === 'GU'}\n          hasHorizontalLine={data.hasHorizontalLine}\n          badgeImageUrl={data.badgeImageUrl}\n          badgeImageAltText={data.badgeImageAltText}\n          hasGalleryButton={false}\n          aspectRatios={data.aspectRatios}\n          illustrationOverlay={\n            isEY && isHomepage ? (\n              <MastheadOverlayImage\n                shouldAlignContentPosition={textboxPosition === 'left'}\n                imageUrl=\"/modules/assets/img/brand/EY/backgrounds/EY-masthead-illustration.svg\"\n              />\n            ) : null\n          }\n          forTheStayIllustration={\n            componentParams.text === 'forTheStay' ? (\n              <ForTheStayOverlay overlayPosition={componentParams.orientation ?? 'left'} />\n            ) : null\n          }\n          captionMetricsOnClick={() =>\n            trackEvent(\n              ANALYTICS_GLOBAL_CLICK_EVENT,\n              generateMastheadAnalytics({\n                headline: data.headline,\n                itemTitle: data.captionData.caption,\n              })\n            )\n          }\n          brandLinkMetricsOnClick={() =>\n            trackEvent(\n              ANALYTICS_GLOBAL_CLICK_EVENT,\n              generateMastheadAnalytics({\n                headline: data.headline,\n                itemTitle: data.link?.label,\n              })\n            )\n          }\n        />\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { useRef } from 'react';\nimport { ResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { useMediaQuery, useResizeObserver } from 'usehooks-ts';\nimport cx from 'classnames';\nimport { YouTubeVideo } from '@dx-ui/osc-youtube-video';\nimport {\n  Video,\n  VideoCaptions,\n  VideoControls,\n  VideoTranscript,\n  useVideoPlayerClasses,\n  useVideoPlayer,\n  VideoPlayerMarkup,\n} from '@dx-ui/osc-video-player';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { BrandHorizontalTabPanelProps } from './brand-horizontal-tabs.types';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\n\nexport const BrandHorizontalTabbedSectionContent = ({\n  brandComponentTheme,\n  copy,\n  longDescription,\n  headline,\n  image,\n  link,\n  media,\n  id,\n}: BrandHorizontalTabPanelProps) => {\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const isYouTubeShort = media?.video?.source === 'youtube-short';\n  const isPortrait = media?.multimedia?.orientation === 'portrait';\n  const isLandscape = media?.multimedia?.orientation === 'landscape';\n  const isMultimediaVideo = Boolean(media?.multimedia?.videoUrl);\n  const isVideo = Boolean(media?.video?.url || isMultimediaVideo);\n  const isVerticalVideo = isVideo && (isYouTubeShort || isPortrait);\n  const isImage = Boolean(image?.alt && image?.url);\n  const isCinemagraph = !!media?.multimedia?.altText;\n  const hasAudio = !isCinemagraph && !media?.multimedia?.isMuted;\n  const captionData = image?.captionData;\n  const videoUrl = media?.multimedia?.videoUrl || '';\n  const playerProps = useVideoPlayer({\n    ...media?.multimedia,\n    playerId: id,\n    hasAudio,\n    videoUrl,\n    wrapperElement: ref,\n  });\n  const playerClassNames = useVideoPlayerClasses({ isLandscape });\n  const hasActiveTranscript = Boolean(playerProps.videoTranscriptProps?.activeTranscript);\n  const isLarge = useMediaQuery('(min-width: 1024px)');\n  const videoSize = useResizeObserver({ ref: playerProps.videoProps.videoElement });\n  const height = videoSize?.height ?? 0;\n  const transcriptStyle = isLarge && !isVerticalVideo ? { height: `${height}px` } : undefined;\n  const hasMediaContent = isImage || isVideo;\n\n  const Transcript = (\n    <VideoTranscript\n      {...playerProps.videoTranscriptProps}\n      style={transcriptStyle}\n      brandComponentTheme={brandComponentTheme}\n      className={cx('overflow-hidden !p-0 lg:mb-6', {\n        '[&>ol]:lg:max-h-full [&>ol]:lg:pb-20': !isVerticalVideo,\n        '[&>ol]:lg:max-h-64': isVerticalVideo,\n      })}\n    />\n  );\n\n  return (\n    <div\n      data-testid=\"tabbed-section-content-wrapper\"\n      ref={ref}\n      className={cx('brand-wa:lg:px-0 relative flex lg:mx-8 lg:mt-8', {\n        'flex-row-reverse': hasMediaContent,\n        'justify-center': isVerticalVideo,\n        'justify-between': !isVerticalVideo,\n        'items-start': hasActiveTranscript,\n      })}\n    >\n      {media?.multimedia?.markupSchemas ? (\n        <VideoPlayerMarkup markupSchemas={media.multimedia.markupSchemas} />\n      ) : null}\n      <div\n        className={cx('flex w-full flex-col justify-center', {\n          'max-w-sm': isVerticalVideo,\n          'lg:w-1/2': !isVerticalVideo && hasMediaContent,\n        })}\n      >\n        <div\n          className={cx('lg:ps-7', {\n            'lg:pt-0 pt-10': !hasActiveTranscript,\n          })}\n        >\n          <div className=\"hidden lg:block\">{Transcript}</div>\n          {headline ? (\n            <HeadingLevel\n              headingLevelFallback={3}\n              className={cx('heading-2xl lg:heading-4xl mb-4 lg:mb-6', {\n                'tabbed-section-content-header-text-dark': isDark,\n                'tabbed-section-content-header-text-light': isLight,\n              })}\n              data-testid=\"brandTextHeader\"\n            >\n              {headline}\n            </HeadingLevel>\n          ) : null}\n          {copy ? (\n            <BrandTextBody\n              brandComponentTheme={brandComponentTheme}\n              className={cx('mb-4 lg:mb-6', {\n                'tabbed-section-content-body-text-dark': isDark,\n                'tabbed-section-content-body-text-light': isLight,\n                'tabbed-section-content-body-text': !isDark && !isLight,\n              })}\n            >\n              {copy}\n            </BrandTextBody>\n          ) : null}\n        </div>\n\n        <div\n          className={cx('start-0 pe-7 lg:absolute', {\n            'top-0': hasActiveTranscript,\n            'lg:w-4/12 lg:start-[calc(100%/3/2)]': isVerticalVideo,\n            'lg:w-1/2': !isVerticalVideo && !isImage,\n            'lg:min-w-[55%]': isImage,\n          })}\n        >\n          {media?.video?.url && media?.video.title ? (\n            <YouTubeVideo\n              {...media.video}\n              wrapperClassName=\"flex-1\"\n              isAutoPlay={false}\n              isAutoLoop={false}\n            />\n          ) : videoUrl ? (\n            <>\n              <div className={cx(playerClassNames.wrapperClassNames, 'mb-8 lg:mb-0')}>\n                <Video\n                  {...playerProps.videoProps}\n                  captionData={media?.multimedia?.captionData}\n                  isAutoPlay={media?.multimedia?.isAutoPlay}\n                  posterImageUrl={media?.multimedia?.posterImageUrl}\n                  videoId={media?.multimedia?.videoId}\n                  videoUrl={videoUrl}\n                  role={isCinemagraph ? 'img' : undefined}\n                  aria-label={isCinemagraph ? media?.multimedia?.altText : undefined}\n                />\n                <VideoCaptions\n                  {...playerProps.videoCaptionProps}\n                  brandComponentTheme={brandComponentTheme}\n                  className={playerClassNames.captionClassNames}\n                />\n                <VideoControls\n                  videoVariant={isCinemagraph ? 'cinemagraph' : undefined}\n                  {...playerProps.videoControlsProps}\n                  brandComponentTheme={brandComponentTheme}\n                  className={playerClassNames.controlsClassNames['default']}\n                />\n              </div>\n              <div className=\"lg:hidden\">{Transcript}</div>\n            </>\n          ) : null}\n\n          {image?.alt && image?.url ? (\n            <ResponsiveImage\n              altText={image.alt}\n              imageUrl={image.url}\n              wrapperClassName=\"flex-[1.3]\"\n              aspectRatio=\"3:2\"\n              width={rect?.width ?? 0}\n              captionData={captionData}\n              className=\"image-corner-radius\"\n            />\n          ) : null}\n        </div>\n        <div className={cx('mt-4 md:mb-2 lg:mt-0 lg:ps-7')}>\n          {longDescription ? (\n            <BrandTextBody\n              className={cx('mb-4 font-sans lg:mb-6', {\n                'tabbed-section-content-body-text-dark': isDark,\n                'tabbed-section-content-body-text-light': isLight,\n                'pt-8 sm:pt-4': isMultimediaVideo && !hasActiveTranscript,\n              })}\n              brandComponentTheme={brandComponentTheme}\n            >\n              {longDescription}\n            </BrandTextBody>\n          ) : null}\n\n          {link && link.label && link.url ? (\n            <BrandLink\n              url={link.url}\n              label={link.label}\n              onClick={link.onClick}\n              isNewWindow={link.isNewWindow}\n              showNewWindowIcon={link.isNewWindow}\n              brandComponentTheme={brandComponentTheme}\n              data-conductrics-goal={link.experimentationConfiguration?.goal}\n              data-conductrics-value={link.experimentationConfiguration?.value}\n            />\n          ) : null}\n        </div>\n      </div>\n      {hasMediaContent ? (\n        <div\n          className={cx('hidden lg:block', {\n            'aspect-[9/16] lg:w-4/12': isVerticalVideo,\n            'aspect-[3/2] lg:w-1/2': !isVerticalVideo && !isImage,\n            'aspect-[3/2] lg:min-w-[55%]': isImage,\n          })}\n        />\n      ) : null}\n    </div>\n  );\n};\n","import { useState } from 'react';\nimport {\n  brandIconMapper,\n  iconMapper,\n  TabListButton,\n  TabPanel,\n  TabPanels,\n  Tabs,\n  TabListScrollable,\n} from '@dx-ui/osc-tabs';\nimport cx from 'classnames';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport Icon from '@dx-ui/osc-icon';\nimport Image from 'next/image';\n\nimport { mapTextAlignToClassname } from '@dx-ui/osc-textual-block';\nimport type {\n  BrandHorizontalTabProps,\n  BrandHorizontalTabsProps,\n} from './brand-horizontal-tabs.types';\nimport { BrandHorizontalTabbedSectionContent } from './brand-horizontal-tabbed-section-content';\nimport { HeadingLevelProvider } from '@dx-ui/osc-heading-level';\nimport { dispatchVideoEvent, VIDEO_EVENTS } from '@dx-ui/osc-video-player';\n\ntype TabIconProps = {\n  iconType: string;\n  isDark: boolean;\n};\n\nconst TabIcon = ({ iconType = '', isDark = false }: TabIconProps) => {\n  const brandIcon = iconType ? brandIconMapper[iconType] : null;\n  if (brandIcon) {\n    const { brandCode, name } = brandIcon;\n    if (brandCode === 'ES') {\n      const iconName = isDark ? brandIcon.invertedName : name;\n      return <Icon brandCode={brandCode} name={iconName} size=\"5xl\" />;\n    }\n    if (brandCode === 'EY') {\n      return <Icon brandCode={brandCode} name={name} size=\"lg\" />;\n    }\n    return null;\n  }\n  const name = iconMapper[iconType];\n\n  if (!name) {\n    return null;\n  }\n\n  return <Icon name={name} size=\"lg\" />;\n};\n\nexport const BrandHorizontalTabbedSection = ({\n  brandComponentTheme,\n  defaultTab,\n  listDescription,\n  listHeadline,\n  textAlign = 'left',\n  items,\n  id,\n  onTabChange,\n}: BrandHorizontalTabsProps) => {\n  const [selectedTab, setSelectedTab] = useState(defaultTab);\n\n  if (!items.length) return null;\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const hasIconOrLogo = items.some((item) => item.logoUrl || item.iconType);\n\n  return (\n    <section\n      className={cx('brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12', {\n        'tabbed-bg-dark': isDark,\n        'tabbed-bg-light': isLight,\n        'tabbed-bg': !isDark && !isLight,\n      })}\n      data-testid=\"tabbedsection-items-wrapper\"\n    >\n      {items.length > 1 ? (\n        <>\n          {listHeadline ? (\n            <BrandTextHeader\n              id={id}\n              className={cx('relative', mapTextAlignToClassname(textAlign), {\n                'tabbed-list-headline-dark': isDark,\n                'tabbed-list-headline-light': isLight,\n              })}\n            >\n              {listHeadline}\n            </BrandTextHeader>\n          ) : null}\n\n          {listDescription ? (\n            <BrandTextBody\n              brandComponentTheme={brandComponentTheme}\n              className={cx('relative', mapTextAlignToClassname(textAlign), {\n                'tabbed-list-description-dark': isDark,\n                'tabbed-list-description-light': isLight,\n                'tabbed-list-description': !isDark && !isLight,\n              })}\n            >\n              {listDescription}\n            </BrandTextBody>\n          ) : null}\n\n          <Tabs\n            key={`${id}-${items.length}`}\n            changeWithArrow\n            onTabChange={(tabId = '') => {\n              setSelectedTab((currentId = '') => {\n                dispatchVideoEvent({ type: VIDEO_EVENTS.PAUSE_SELF, id: currentId });\n                return tabId;\n              });\n              onTabChange?.(tabId);\n            }}\n            defaultActive={defaultTab}\n          >\n            <TabListScrollable\n              id={id}\n              data-testid={`tablist-${id}`}\n              className={cx('scrollbar-hide flex flex-row flex-nowrap overflow-x-scroll border-b', {\n                'horizontal-tabbed-list-scrollable-dark': isDark,\n                'horizontal-tabbed-list-scrollable-light': isLight,\n                'horizontal-tabbed-list-scrollable': !isDark && !isLight,\n              })}\n              leftArrowWrapperClassName={{\n                'horizontal-tabbed-arrow-wrapper-dark': isDark,\n                'horizontal-tabbed-arrow-wrapper-light': isLight,\n                'horizontal-tabbed-arrow-wrapper': !isDark && !isLight,\n              }}\n              rightArrowWrapperClassName={{\n                'horizontal-tabbed-arrow-wrapper-dark': isDark,\n                'horizontal-tabbed-arrow-wrapper-light': isLight,\n                'horizontal-tabbed-arrow-wrapper': !isDark && !isLight,\n              }}\n            >\n              {items.map(({ id, tab: { label }, cmsTranslationClasses, logoUrl, iconType }) => (\n                <TabListButton\n                  data-testid={label}\n                  activeClassName={cx('is-selected selected brand-hp:font-bold group z-10', {\n                    'horizontal-tabbed-list-button-active-dark': isDark,\n                    'horizontal-tabbed-list-button-active-light': isLight,\n                    'horizontal-tabbed-list-button-active': !isDark && !isLight,\n                    'horizontal-tabbed-list-button-active-bg-no-icon-dark':\n                      isDark && !iconType && !logoUrl,\n                    'horizontal-tabbed-list-button-active-bg-no-icon-light':\n                      isLight && !iconType && !logoUrl,\n                    'horizontal-tabbed-list-button-active-bg-no-icon-default':\n                      !isDark && !isLight && !iconType && !logoUrl,\n                  })}\n                  className={cx(\n                    'grow cursor-pointer appearance-none border-b-4 px-4 py-2 md:whitespace-normal',\n                    'focus-visible-only-for-a11y',\n                    {\n                      'min-w-[50%] lg:min-w-[20%]': items.length > 5,\n                      'min-w-[50%] lg:min-w-fit': items.length <= 5,\n                      'flex items-baseline': logoUrl,\n                    }\n                  )}\n                  inactiveClassName={cx('text-text-alt border-transparent', {\n                    'horizontal-tabbed-list-button-inactive-dark': isDark,\n                    'horizontal-tabbed-list-button-inactive-light': isLight,\n                    'horizontal-tabbed-list-button-inactive': !isDark && !isLight,\n                  })}\n                  id={id}\n                  key={id}\n                >\n                  <div\n                    className={cx(\n                      'group m-auto flex min-w-[120px] flex-col items-center text-lg',\n                      'brand-es:font-headline',\n                      'brand-ey:font-normal',\n                      'brand-gi:font-headline brand-gi:font-bold',\n                      'brand-hp:font-serif brand-hp:shrink-0',\n                      'brand-nd:uppercase brand-nd:font-mono',\n                      'brand-wa:uppercase brand-wa:font-sans brand-wa:font-light',\n                      {\n                        'hover:text-primary-alt focus:text-primary-alt brand-dt:hover:text-brand brand-dt:focus:text-brand brand-es:hover:text-primary brand-es:focus:text-primary':\n                          id !== selectedTab,\n                        'font-bold brand-nd:font-medium ': id === selectedTab,\n                        'font-medium brand-gu:font-bold': id !== selectedTab,\n                        'text-text-inverse': isDark,\n                        'hover:text-text-inverse brand-es:hover:text-bg-light brand-es:focus:text-bg-light brand-nd:hover:!text-text-disabled brand-ey:hover:!text-brand-alt':\n                          isDark && id !== selectedTab,\n                        'brand-ht:!text-text-inverse brand-hp:text-primary': isLight,\n                        'brand-hi-refresh:hover:text-primary-alt brand-nd:hover:text-primary-alt brand-wa:hover:text-bg-dark brand-ey:hover:text-primary-alt':\n                          !isDark && id !== selectedTab,\n                        'text-text brand-ey:text-primary brand-gu:text-primary brand-hi-refresh:text-primary brand-ou:text-primary brand-hp:text-primary brand-hp:hover:text-primary-alt':\n                          !isDark,\n                        'horizontal-tabbed-list-button-active-text-no-logo-icon-dark':\n                          isDark && !iconType && !logoUrl && id === selectedTab,\n                      },\n                      cmsTranslationClasses\n                    )}\n                  >\n                    {logoUrl ? (\n                      <Image\n                        src={logoUrl}\n                        alt=\"\"\n                        width={70}\n                        height={70}\n                        unoptimized={true}\n                        aria-hidden\n                      />\n                    ) : null}\n                    {iconType ? (\n                      <div\n                        className={cx(\n                          'group-[.selected]:bg-bg-alt flex size-16 items-center justify-center rounded-full',\n                          'brand-ou:group-[.selected]:bg-bg-light',\n                          'brand-es:group-[.selected]:bg-transparent',\n                          {\n                            'text-text-inverse group-[.selected]:text-text brand-ou:group-[.selected]:bg-secondary brand-ou:group-[.selected]:text-primary':\n                              isDark,\n                            'brand-es:group-[.selected]:text-text-inverse': isDark,\n                            'brand-ey:bg-bg-light brand-ey:text-primary brand-ey:group-[.selected]:text-primary brand-ey:group-[.selected]:bg-brand-alt':\n                              isDark,\n                            'brand-gu:bg-bg-light brand-gu:text-primary brand-gu:group-[.selected]:bg-quarternary':\n                              isDark,\n                            'brand-hi-refresh:group-[.selected]:text-primary brand-hi-refresh:group-[.selected]:bg-bg-light':\n                              isDark,\n                            'brand-nd:bg-text-disabled brand-nd:text-primary brand-nd:group-[.selected]:bg-bg brand-nd:group-[.selected]:text-primary':\n                              isDark,\n                            'brand-gu:bg-bg-dark brand-gu:text-text-inverse brand-gu:group-[.selected]:bg-quarternary brand-gu:group-[.selected]:text-primary':\n                              isLight,\n                            'brand-ht:group-[.selected]:text-text': isLight,\n                            'brand-ou:group-[.selected]:bg-secondary': isLight,\n                            'brand-ey:bg-bg-dark brand-ey:group-[.selected]:bg-secondary brand-ey:text-text-inverse brand-ey:group-[.selected]:text-text-inverse':\n                              !isDark,\n                            'brand-hi-refresh:group-[.selected]:text-text-inverse brand-hi-refresh:group-[.selected]:bg-primary':\n                              !isDark,\n                            'brand-nd:bg-text-disabled brand-nd:group-[.selected]:bg-bg-dark brand-nd:group-[.selected]:text-text-inverse':\n                              !isDark,\n                            'brand-gu:bg-bg-dark brand-gu:text-text-inverse brand-gu:group-[.selected]:bg-bg-light brand-gu:group-[.selected]:text-primary brand-hp:group-[.selected]:bg-quarternary brand-hp:group-[.selected]:text-primary':\n                              !isLight,\n                          }\n                        )}\n                      >\n                        <TabIcon iconType={iconType} isDark={isDark} />\n                      </div>\n                    ) : null}\n                    <span\n                      className={cx('relative', {\n                        'py-4': hasIconOrLogo,\n                        'py-1 brand-hp:px-4 brand-hp:py-0': !hasIconOrLogo,\n                      })}\n                    >\n                      {id === selectedTab && !hasIconOrLogo ? (\n                        <span\n                          className={cx(\n                            'hidden',\n                            'brand-hp:group-[.selected]:flex brand-hp:absolute brand-hp:-start-7 h-full items-center px-4'\n                          )}\n                        >\n                          <Icon brandCode=\"HP\" name=\"hex\" size=\"md\" />\n                        </span>\n                      ) : null}\n                      {label}\n                    </span>\n                  </div>\n                </TabListButton>\n              ))}\n            </TabListScrollable>\n            <TabPanels>\n              {items.map(\n                ({\n                  id,\n                  cmsDocumentControl,\n                  panel: { media, image, headline, longDescription, copy, link },\n                  cmsTranslationClasses,\n                }: BrandHorizontalTabProps) => {\n                  return (\n                    <HeadingLevelProvider key={id} shouldIncreaseLevel={!!listHeadline}>\n                      <TabPanel id={id} className={cmsTranslationClasses}>\n                        <BrandHorizontalTabbedSectionContent\n                          brandComponentTheme={brandComponentTheme}\n                          copy={copy}\n                          longDescription={longDescription}\n                          headline={headline}\n                          image={image}\n                          link={link}\n                          media={media}\n                          id={id}\n                        />\n                        {cmsDocumentControl}\n                      </TabPanel>\n                    </HeadingLevelProvider>\n                  );\n                }\n              )}\n            </TabPanels>\n          </Tabs>\n        </>\n      ) : (\n        <>\n          <BrandHorizontalTabbedSectionContent\n            brandComponentTheme={brandComponentTheme}\n            copy={items[0]?.panel.copy ?? ''}\n            longDescription={items[0]?.panel.longDescription ?? ''}\n            headline={items[0]?.panel.headline ?? ''}\n            image={items[0]?.panel.image}\n            link={items[0]?.panel.link}\n            media={items[0]?.panel.media}\n          />\n          {items[0]?.cmsDocumentControl ?? ''}\n        </>\n      )}\n    </section>\n  );\n};\n\nexport default BrandHorizontalTabbedSection;\n","export * from './brand-horizontal-tabbed-section';\n","export * from './lib';\n","import { useRef } from 'react';\nimport { ResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport cx from 'classnames';\nimport type { TVerticalTabBody } from './brand-vertical-tabs.types';\n\nexport const BrandVerticalTabBody = ({\n  imageUrl,\n  captionData,\n  brandComponentTheme,\n  altText,\n  headline,\n  text,\n  link,\n}: TVerticalTabBody) => {\n  const { url, label, isNewWindow } = link;\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n  const isImage = imageUrl && altText ? true : false;\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div\n      className={cx({\n        'flex flex-col xl:flex-row xl:items-start': isImage,\n        'px-0 lg:px-6': !isImage,\n      })}\n    >\n      {imageUrl && altText ? (\n        <div\n          ref={ref}\n          style={{ flex: 1.3 }}\n          className=\"flex items-center justify-center overflow-hidden\"\n        >\n          <ResponsiveImage\n            imageUrl={imageUrl}\n            altText={altText}\n            aspectRatio=\"3:2\"\n            width={rect?.width ?? 0}\n            captionData={captionData}\n            className=\"image-corner-radius\"\n          />\n        </div>\n      ) : null}\n      <div\n        className={cx({\n          'z-1 flex flex-1 flex-col items-center justify-center text-left': isImage,\n        })}\n      >\n        <div\n          className={cx({\n            'pt-12 md:pt-4 md:ps-4 lg:ps-10': isImage,\n          })}\n        >\n          <BrandTextHeader\n            className={cx({\n              'tabbed-section-content-header-text-dark': isDark,\n              'tabbed-section-content-header-text-light': isLight,\n            })}\n          >\n            {headline}\n          </BrandTextHeader>\n          <BrandTextBody\n            className={cx('mb-8 pe-8 sm:pe-6 lg:mb-12', {\n              'tabbed-section-content-body-text-dark': isDark,\n              'tabbed-section-content-body-text-light': isLight,\n              'tabbed-section-content-body-text': !isDark && !isLight,\n            })}\n            brandComponentTheme={brandComponentTheme}\n          >\n            {text}\n          </BrandTextBody>\n\n          {label && url ? (\n            <BrandLink\n              url={url}\n              label={label}\n              isNewWindow={isNewWindow}\n              showNewWindowIcon={isNewWindow}\n              brandComponentTheme={brandComponentTheme}\n              data-conductrics-goal={link.experimentationConfiguration?.goal}\n              data-conductrics-value={link.experimentationConfiguration?.value}\n            />\n          ) : null}\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default BrandVerticalTabBody;\n","import {\n  VerticalTabButton,\n  VerticalTab,\n  VerticalTabPanel,\n  VerticalTabs,\n} from '@dx-ui/osc-vertical-tabs';\nimport { iconMapper } from '@dx-ui/osc-tabs';\nimport cx from 'classnames';\nimport Image from 'next/image';\nimport Icon from '@dx-ui/osc-icon';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport type { TVerticalTabs } from './brand-vertical-tabs.types';\nimport BrandVerticalTabBody from './brand-vertical-tabbed-section-content';\nimport { mapTextAlignToClassname } from '@dx-ui/osc-textual-block';\nimport { HeadingLevelProvider } from '@dx-ui/osc-heading-level';\n\nexport const BrandVerticalTabbedSection = ({\n  listHeadline,\n  listDescription,\n  textAlign = 'left',\n  items,\n  brandComponentTheme,\n  onTabChange,\n  id: cmsId,\n}: TVerticalTabs) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  const id = `tabs${cmsId}`;\n\n  return (\n    <section\n      className={cx('brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12', {\n        'tabbed-bg-dark': isDark,\n        'tabbed-bg-light': isLight,\n        'tabbed-bg': !isDark && !isLight,\n      })}\n    >\n      {listHeadline ? (\n        <BrandTextHeader\n          id={id}\n          className={cx('relative', mapTextAlignToClassname(textAlign), {\n            'tabbed-list-headline-dark': isDark,\n            'tabbed-list-headline-light': isLight,\n          })}\n        >\n          {listHeadline}\n        </BrandTextHeader>\n      ) : null}\n\n      {listDescription ? (\n        <BrandTextBody\n          className={cx('relative pb-8', mapTextAlignToClassname(textAlign), {\n            'tabbed-list-description-dark': isDark,\n            'tabbed-list-description-light': isLight,\n            'tabbed-list-description': !isDark && !isLight,\n          })}\n          brandComponentTheme={brandComponentTheme}\n        >\n          {listDescription}\n        </BrandTextBody>\n      ) : null}\n\n      <VerticalTabs\n        defaultActiveId={items[0]?.id}\n        id={id}\n        accordionExpandedClassName={cx('border-b !font-normal', {\n          'vertical-tabbed-accordion-expanded-light': isLight,\n          'vertical-tabbed-accordion-expanded-dark': isDark,\n          'vertical-tabbed-accordion-expanded': !isDark && !isLight,\n        })}\n        accordionCollapsedClassName={cx('font-normal', {\n          'vertical-tabbed-accordion-collapsed-dark': isDark,\n          'vertical-tabbed-accordion-collapsed-light': isLight,\n          'vertical-tabbed-accordion-collapsed-default': !isDark && !isLight,\n        })}\n        accordionButtonWrapperClassName={cx('last:has-[button]:border-b', {\n          'vertical-tabbed-accordion-dark': isDark,\n          'vertical-tabbed-accordion-light': isLight,\n          'vertical-tabbed-accordion': !isDark && !isLight,\n        })}\n        accordionClassName={cx('relative border-t', {\n          'vertical-tabbed-accordion-dark': isDark,\n          'vertical-tabbed-accordion-light': isLight,\n          'vertical-tabbed-accordion': !isDark && !isLight,\n        })}\n        accordionIconIndicatorFillColor={cx({\n          'vertical-tabbed-accordion-icon-indicator-fill-color-light': isLight,\n          'vertical-tabbed-accordion-icon-indicator-fill-color-dark': isDark,\n          'vertical-tabbed-accordion-icon-indicator-fill-color': !isDark && !isLight,\n        })}\n        accordionIconIndicatorExpandedFillColor={cx({\n          'vertical-tabbed-accordion-icon-indicator-expanded-fill-color-light': isLight,\n        })}\n        onTabChange={onTabChange}\n      >\n        {items.map((item) => {\n          const icon = item.iconType ? iconMapper[item.iconType] : null;\n\n          return (\n            <VerticalTab key={item.tab.label} className=\"pb-10\">\n              <VerticalTabButton\n                tabId={item.id}\n                inactiveClassName={cx(\n                  \"vertical-tabbed-button-inactive-text brand-hi-refresh:hover:before:absolute brand-hi-refresh:hover:before:start-0 brand-hi-refresh:hover:before:h-full brand-hi-refresh:hover:before:w-2 brand-hi-refresh:hover:before:content-[''] border-b-2 first:border-t-2\",\n                  {\n                    'vertical-tabbed-button-inactive-light': isLight,\n                    'vertical-tabbed-button-inactive-dark first:border-tab-button-panel-dark':\n                      isDark,\n                    'vertical-tabbed-button-inactive-default': !isDark && !isLight,\n                  }\n                )}\n                activeClassName={cx(\n                  \"vertical-tabbed-button-active-text [&_.hampton-icon]:brand-hp:block z-10 border-b-2 before:absolute before:start-0 before:h-full before:w-2 before:content-[''] first:border-t-2\",\n                  {\n                    'vertical-tabbed-button-active-dark first:border-tab-button-panel-dark': isDark,\n                    'vertical-tabbed-button-active-light': isLight,\n                    'vertical-tabbed-button-active-default': !isDark && !isLight,\n                  }\n                )}\n                /* eslint-disable tailwindcss/no-custom-classname, tailwindcss/classnames-order */\n                className=\"w-80 focus-visible-only-for-a11y\"\n              >\n                <div className=\"flex items-center lg:flex-row\">\n                  {icon ? (\n                    <Icon name={icon} size=\"lg\" className=\"!rotate-0\" />\n                  ) : item.logoUrl ? (\n                    <Image\n                      width={50}\n                      height={50}\n                      src={item.logoUrl}\n                      alt=\"\"\n                      unoptimized={true}\n                      aria-hidden\n                    />\n                  ) : (\n                    <span className={cx('hidden hampton-icon', 'ps-2 -me-3')}>\n                      <Icon brandCode=\"HP\" name={isDark ? 'hex_inverted' : 'hex'} size=\"md\" />\n                    </span>\n                  )}\n\n                  {item.tab.label ? (\n                    <span className=\"ms-3.5 pe-6 text-lg\">{item.tab.label}</span>\n                  ) : null}\n                </div>\n              </VerticalTabButton>\n\n              <VerticalTabPanel\n                tabPanelId={item.id}\n                className={cx('-translate-x-1 border-t-2 ps-10 pt-8 rtl:translate-x-1', {\n                  'vertical-tabbed-panel-border-dark': isDark,\n                  'vertical-tabbed-panel-border-light': isLight,\n                  'vertical-tabbed-panel-border': !isDark && !isLight,\n                })}\n              >\n                <HeadingLevelProvider shouldIncreaseLevel={!!listHeadline}>\n                  <BrandVerticalTabBody\n                    imageUrl={item.panel.image?.url}\n                    captionData={item.panel.image?.captionData}\n                    altText={item.panel.image?.alt}\n                    headline={item.panel.headline}\n                    text={item.panel.copy}\n                    brandComponentTheme={brandComponentTheme}\n                    link={item.panel.link}\n                  />\n                </HeadingLevelProvider>\n              </VerticalTabPanel>\n            </VerticalTab>\n          );\n        })}\n      </VerticalTabs>\n    </section>\n  );\n};\n\nexport default BrandVerticalTabbedSection;\n","export * from './brand-vertical-tabbed-section';\n","export * from './lib';\n","import * as React from 'react';\n\ntype Props = React.PropsWithChildren<{\n  theme: 'light' | 'dark' | '';\n  enabled: boolean;\n}>;\n\nexport function HamptonHexVisual({ theme, enabled, children }: Props) {\n  if (enabled && theme === 'light') {\n    return (\n      <React.Fragment>\n        <svg\n          data-testid=\"hampton-hex-light\"\n          className=\"invisible absolute inset-y-0 right-0 h-full md:visible\"\n          viewBox=\"0 0 184 712\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M184 712V0H131.52C128.978 4.8022 126.907 9.93313 125.382 15.3337L6.51498 436.321C2.19295 451.651 0 467.512 0 483.5H0.0213165C0.0213165 499.489 2.21426 515.371 6.5363 530.701L57.7289 712H184Z\"\n            fill=\"white\"\n          />\n        </svg>\n\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  if (enabled && theme === 'dark') {\n    return (\n      <React.Fragment>\n        <svg\n          data-testid=\"hampton-hex-dark\"\n          className=\"invisible absolute inset-y-0 right-0 h-full md:visible\"\n          viewBox=\"0 0 184 712\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M184 712V0H131.52C128.978 4.8022 126.907 9.93313 125.382 15.3337L6.51498 436.321C2.19295 451.651 0 467.512 0 483.5H0.0213165C0.0213165 499.489 2.21426 515.371 6.5363 530.701L57.7289 712H184Z\"\n            fill=\"#002666\"\n          />\n        </svg>\n\n        {children}\n      </React.Fragment>\n    );\n  }\n\n  return children;\n}\n","import { createCpmComponentDefinition, useCreateManageContentButton } from '@dx-ui/cpm-sdk';\nimport { useId } from 'react';\nimport { extractInstanceIndexFromId } from '../../utils';\nimport { mapMultimediaListToVideoProps } from '@dx-ui/osc-video-player';\nimport { BrandHorizontalTabbedSection } from '@dx-ui/osc-brand-horizontal-tabbed-section';\nimport { BrandVerticalTabbedSection as VerticalTabbedSection } from '@dx-ui/osc-brand-vertical-tabbed-section';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { HamptonHexVisual } from './HamptonHexVisual';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  'Tabbed Section',\n\n  function mapData({ data, mappedPage }) {\n    const { link, id, label, headline, shortDescription, longDescription, logoUrl, iconType } =\n      data;\n    const videoData = data.videos?.[0];\n    const multimediaList = data.multimedia;\n    const asset = data.cpmAssets[0];\n    const imageUrl = asset?.aspectRatios?.['3x2']?.url;\n    const captionData = asset\n      ? {\n          captionLink: asset.captionLink,\n          caption: asset.caption,\n        }\n      : undefined;\n    const video = videoData\n      ? {\n          source: videoData.source || '',\n          title: videoData?.name || '',\n          url: videoData.url,\n        }\n      : undefined;\n    const multimedia = multimediaList?.length\n      ? mapMultimediaListToVideoProps({ multimedia: multimediaList, mappedPage })\n      : undefined;\n    const hasImage = imageUrl && asset?.altText;\n    const hasVideo = multimedia?.videoUrl || video?.url;\n\n    return {\n      id,\n      links: data.links,\n      ...(logoUrl && { logoUrl }),\n      ...(iconType && { iconType }),\n      tab: {\n        label,\n      },\n      panel: {\n        media: {\n          multimedia,\n          video,\n        },\n        image:\n          hasImage && !hasVideo\n            ? {\n                alt: asset?.altText || '',\n                url: imageUrl ?? '',\n                captionData,\n              }\n            : undefined,\n        headline,\n        copy: shortDescription,\n        longDescription: longDescription || undefined,\n        link: {\n          label: link?.label ?? '',\n          url: link?.url ?? '',\n          adaDescription: link?.adaDescription ?? '',\n          isNewWindow: link?.isNewWindow,\n        },\n      },\n    };\n  },\n\n  function TabbedSection({\n    items = [],\n    listData: data,\n    componentParams,\n    mappedPage: { brandCode },\n  }) {\n    const metrics = useMetrics();\n    const id = useId();\n    const createManageContentButton = useCreateManageContentButton();\n    const { tabbedSectionDisplay } = componentParams;\n\n    if (!items.length) {\n      return null;\n    }\n\n    const filteredItems = items.map((item) => {\n      return {\n        ...item,\n        cmsDocumentControl: createManageContentButton(item?.$ref),\n        panel: {\n          ...item.panel,\n          // Replace link with one that has been filtered by experimentation agent. Links are filtered by the CPM SDK.\n          // The link will be the same one as the mapping function if no experimentation agent(s) have been defined.\n          link: item.links?.[0] ?? { url: '', label: '' },\n        },\n      };\n    });\n\n    const onTabChange = (tabId: string) => {\n      if (metrics && tabId) {\n        const targetTabIndex = filteredItems.findIndex((item) => item.id === tabId);\n        const label = filteredItems?.[targetTabIndex]?.tab?.label ?? '';\n        metrics.trackTabItemClick?.([\n          {\n            label,\n            tabComponentNumber: extractInstanceIndexFromId(id),\n            itemNumber: targetTabIndex + 1,\n            totalItems: filteredItems.length,\n          },\n        ]);\n      }\n    };\n\n    return (\n      <BrandComponentThemeInline\n        brandCode={brandCode}\n        componentParams={componentParams}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <HamptonHexVisual\n          theme={componentParams.theme ?? ''}\n          enabled={brandCode === 'HP' && componentParams.backgroundIllustration === 'hx-hexagon'}\n        >\n          <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n            {tabbedSectionDisplay === 'vertical' ? (\n              <VerticalTabbedSection\n                textAlign={componentParams.listTextAlign}\n                listDescription={data?.description ?? undefined}\n                listHeadline={data?.headline ?? undefined}\n                items={filteredItems}\n                brandComponentTheme={componentParams.theme}\n                id={id}\n              />\n            ) : (\n              <BrandHorizontalTabbedSection\n                textAlign={componentParams.listTextAlign}\n                listDescription={data?.description ?? undefined}\n                listHeadline={data?.headline ?? undefined}\n                id={id}\n                items={filteredItems}\n                defaultTab={filteredItems[0]?.id}\n                onTabChange={onTabChange}\n                brandComponentTheme={componentParams.theme}\n              />\n            )}\n          </AnimateRevealItem>\n        </HamptonHexVisual>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import cx from 'classnames';\nimport type { Link } from '@dx-ui/osc-link';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\n\nexport interface TextBlockCTAProps {\n  /**\n   * Is the component within the viewport?\n   */\n  isInView: boolean;\n  /**\n   * fade-in text animation\n   */\n  isAnimated: boolean;\n  /**\n   * The link object that defines the CTA.\n   */\n  link: Link & { experimentationConfiguration?: CmsExperimentationConfiguration };\n  /**\n   * CPM controlled brand color themes\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n}\n\n/**\n * The TextBlock CTA component.\n */\nexport const TextBlockCTA = ({\n  link,\n  isInView,\n  isAnimated = false,\n  brandComponentTheme,\n}: TextBlockCTAProps) => {\n  if (!link) {\n    return null;\n  }\n\n  const isDark = brandComponentTheme === 'dark';\n\n  return (\n    <div\n      className={cx('mt-2 xl:mt-4', {\n        'duration-1000 ease-in-out opacity-0 motion-reduce:transition-none motion-reduce:opacity-100':\n          isAnimated,\n        'translate-y-4': !isInView && isAnimated,\n        'delay-700 opacity-100 translate-y-0': isInView && isAnimated,\n      })}\n    >\n      <BrandLink\n        label={link.label}\n        isNewWindow={link.isNewWindow}\n        showNewWindowIcon={link.isNewWindow}\n        url={link.url}\n        brandComponentTheme={brandComponentTheme}\n        data-conductrics-goal={link.experimentationConfiguration?.goal}\n        data-conductrics-value={link.experimentationConfiguration?.value}\n        anchorClassName={cx(\n          'brand-qq:!bg-primary brand-qq:text-text-inverse brand-qq:!border-none brand-qq:py-4 brand-qq:px-8',\n          {\n            'brand-qq:!bg-bg-light brand-qq:!text-primary brand-qq:hover:bg-bg-light': isDark,\n          }\n        )}\n      />\n    </div>\n  );\n};\n","import { useId } from 'react';\nimport { TextualDescriptionBlock } from '@dx-ui/osc-textual-block';\nimport { CustomMarkdown } from '@dx-ui/osc-custom-markdown';\n\nexport interface TextBlockDescriptionProps {\n  /**\n   * The text for the description component.\n   */\n  body: string;\n  className?: string;\n  /**\n   * Is the component within the viewport?\n   */\n  isInView: boolean;\n  /**\n   * fade-in text animation\n   */\n  isAnimated: boolean;\n  /**\n   * The alignment of the text.\n   */\n  textAlign?: 'left' | 'right' | 'center';\n  /**\n   * CPM controlled brand color themes\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n}\n\n/**\n * The TextBlock Description component.\n */\nexport const TextBlockDescription = ({\n  body,\n  isInView,\n  isAnimated = false,\n  textAlign = 'left',\n  brandComponentTheme,\n}: TextBlockDescriptionProps) => {\n  const id = useId();\n\n  if (!body) {\n    return null;\n  }\n\n  return (\n    <TextualDescriptionBlock\n      brandComponentTheme={brandComponentTheme}\n      textAlign={textAlign}\n      isInView={isInView}\n      isAnimated={isAnimated}\n    >\n      <CustomMarkdown\n        id={`textblock-body-section-${id}`}\n        isStaticContentPage={false}\n        brandComponentTheme={brandComponentTheme}\n      >\n        {body}\n      </CustomMarkdown>\n    </TextualDescriptionBlock>\n  );\n};\n","import { CustomMarkdown } from '@dx-ui/osc-custom-markdown';\nimport { makeHeadingOverrides } from '@dx-ui/osc-textual-block';\n\nexport interface TextBlockHeadingProps {\n  /**\n   * The markdown for the headline component.\n   */\n  markdown: string;\n  /**\n   * Is the component within the viewport?\n   */\n  isInView: boolean;\n  /**\n   * fade-in text animation\n   */\n  isAnimated: boolean;\n  /**\n   * The alignment of the text.\n   */\n  textAlign?: 'left' | 'right' | 'center';\n  /**\n   * CPM controlled brand color themes\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n}\n\n/**\n * The TextBlock Heading component.\n */\nexport const TextBlockHeading = ({\n  markdown,\n  isInView,\n  isAnimated = false,\n  textAlign = 'left',\n  brandComponentTheme,\n}: TextBlockHeadingProps) => {\n  if (!markdown) {\n    return null;\n  }\n\n  const options = {\n    overrides: {\n      ...makeHeadingOverrides({\n        brandComponentTheme,\n        isAnimated,\n        isInView,\n        textAlign,\n      }),\n      span: {\n        props: {\n          className: 'text-text py-2 sm:heading-lg lg:heading-xl block',\n        },\n      },\n    },\n  };\n\n  return (\n    <CustomMarkdown\n      options={options}\n      data-testid=\"textBlockHeader\"\n      brandComponentTheme={brandComponentTheme}\n    >\n      {markdown}\n    </CustomMarkdown>\n  );\n};\n","import { TextualOrderedListBlock, TextualOrderedListItemBlock } from '@dx-ui/osc-textual-block';\nimport { useId } from 'react';\nimport { CustomMarkdown } from '@dx-ui/osc-custom-markdown';\n\nexport interface TextBlockOrderedListProps {\n  /**\n   * Is the component within the viewport?\n   */\n  isInView: boolean;\n  /**\n   * fade-in text animation\n   */\n  isAnimated: boolean;\n  /**\n   * An array of strings to render in our list.\n   */\n  items: Array<string>;\n  /**\n   * The alignment of the text.\n   */\n  textAlign?: 'left' | 'right' | 'center';\n  /**\n   * CPM controlled brand color themes\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n}\n\nconst TextBlockOrderedListItem = ({\n  markdown,\n  brandComponentTheme,\n}: {\n  markdown: string;\n  brandComponentTheme?: CmsBrandComponentTheme;\n}) => {\n  const id = useId();\n\n  return (\n    <TextualOrderedListItemBlock brandComponentTheme={brandComponentTheme}>\n      <CustomMarkdown\n        id={`textblock-body-section-${id}`}\n        isStaticContentPage={false}\n        brandComponentTheme={brandComponentTheme}\n      >\n        {markdown}\n      </CustomMarkdown>\n    </TextualOrderedListItemBlock>\n  );\n};\n\n/**\n * The TextBlock Ordered List component.\n */\nexport const TextBlockOrderedList = ({\n  isInView,\n  isAnimated = false,\n  items,\n  textAlign = 'left',\n  brandComponentTheme,\n}: TextBlockOrderedListProps) => {\n  if (items.length <= 0) {\n    return null;\n  }\n\n  return (\n    <TextualOrderedListBlock\n      textAlign={textAlign}\n      isAnimated={isAnimated}\n      isInView={isInView}\n      brandComponentTheme={brandComponentTheme}\n    >\n      {items.map((item) => (\n        <TextBlockOrderedListItem\n          key={item}\n          markdown={item}\n          brandComponentTheme={brandComponentTheme}\n        />\n      ))}\n    </TextualOrderedListBlock>\n  );\n};\n","import { TextualUnorderedListBlock, TextualUnorderedListItemBlock } from '@dx-ui/osc-textual-block';\nimport { useId } from 'react';\nimport { CustomMarkdown } from '@dx-ui/osc-custom-markdown';\n\nexport interface TextBlockUnorderedListProps {\n  /**\n   * Is the component within the viewport?\n   */\n  isInView: boolean;\n  /**\n   * fade-in text animation\n   */\n  isAnimated: boolean;\n  /**\n   * An array of strings to render in our list.\n   */\n  items: Array<string>;\n  /**\n   * The alignment of the text.\n   */\n  textAlign?: 'left' | 'right' | 'center';\n  /**\n   * CPM controlled brand color themes\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n}\n\nconst TextBlockUnorderedListItem = ({\n  markdown,\n  brandComponentTheme,\n}: {\n  markdown: string;\n  brandComponentTheme?: CmsBrandComponentTheme;\n}) => {\n  const id = useId();\n\n  return (\n    <TextualUnorderedListItemBlock brandComponentTheme={brandComponentTheme}>\n      <CustomMarkdown\n        id={`textblock-body-section-${id}`}\n        isStaticContentPage={false}\n        brandComponentTheme={brandComponentTheme}\n      >\n        {markdown}\n      </CustomMarkdown>\n    </TextualUnorderedListItemBlock>\n  );\n};\n\n/**\n * The TextBlock Unordered List component.\n */\nexport const TextBlockUnorderedList = ({\n  isInView,\n  isAnimated = false,\n  items,\n  textAlign = 'left',\n  brandComponentTheme,\n}: TextBlockUnorderedListProps) => {\n  if (items.length <= 0) {\n    return null;\n  }\n\n  return (\n    <TextualUnorderedListBlock\n      textAlign={textAlign}\n      isAnimated={isAnimated}\n      isInView={isInView}\n      brandComponentTheme={brandComponentTheme}\n    >\n      {items.map((item) => (\n        <TextBlockUnorderedListItem\n          key={item}\n          markdown={item}\n          brandComponentTheme={brandComponentTheme}\n        />\n      ))}\n    </TextualUnorderedListBlock>\n  );\n};\n","export * from './text-block-cta';\nexport * from './text-block-description';\nexport * from './text-block-heading';\nexport * from './text-block-ordered-list';\nexport * from './text-block-unordered-list';\n","import {\n  TextBlockCTA,\n  TextBlockDescription,\n  TextBlockHeading,\n  TextBlockOrderedList,\n  TextBlockUnorderedList,\n} from './blocks';\nimport type { ParsedContentSection } from './types';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { getIsReducedMotion } from '@dx-ui/utilities-accessibility';\nimport { TextualBlock } from '@dx-ui/osc-textual-block';\n\nexport interface TextBlockProps {\n  /**\n   * The individual text block elements that will be rendered.\n   * The text box heading and text box description needs a markdown\n   */\n  data?: ParsedContentSection[];\n  /**\n   * Adds additional styling control to the wrapper that is rendered.\n   */\n  className?: string;\n  /**\n   * fade-in text animation\n   */\n  isAnimated: boolean;\n  /**\n   * The alignement of the items.\n   */\n  textAlign?: 'left' | 'right' | 'center';\n  /**\n   * Adds outline around content, within container\n   */\n  isBorderTrim?: boolean;\n  /**\n   * CPM controlled brand color themes\n   */\n  brandComponentTheme?: CmsBrandComponentTheme;\n}\n\n/**\n * A component that is designed to render a headline, description, ordered list, unordered list, and/or cta. Background color theme and background image are full screen, content sits within a container.\n */\nexport function TextBlock({\n  data,\n  textAlign = 'left',\n  isAnimated = false,\n  isBorderTrim,\n  brandComponentTheme,\n}: TextBlockProps) {\n  const { ref, isIntersecting: inView } = useIntersectionObserver({\n    threshold: 0.5,\n    freezeOnceVisible: true,\n  });\n  const wrapperRef = !getIsReducedMotion() && isAnimated ? ref : null;\n\n  return (\n    <TextualBlock\n      brandComponentTheme={brandComponentTheme}\n      textAlign={textAlign}\n      hasBorderTrim={isBorderTrim ?? false}\n      ref={wrapperRef}\n    >\n      {data?.map((section: ParsedContentSection) => {\n        switch (section.kind) {\n          case 'heading':\n            return (\n              <TextBlockHeading\n                key={section.content}\n                textAlign={textAlign}\n                isInView={inView}\n                isAnimated={isAnimated}\n                markdown={section.content}\n                brandComponentTheme={brandComponentTheme}\n              />\n            );\n\n          case 'description':\n            return (\n              <TextBlockDescription\n                key={section.content}\n                textAlign={textAlign}\n                isInView={inView}\n                isAnimated={isAnimated}\n                body={section.content}\n                brandComponentTheme={brandComponentTheme}\n              />\n            );\n\n          case 'orderedList':\n            return (\n              <TextBlockOrderedList\n                key={`${section.content.join('')}-ordered-list`}\n                textAlign={textAlign}\n                isInView={inView}\n                isAnimated={isAnimated}\n                items={section.content}\n                brandComponentTheme={brandComponentTheme}\n              />\n            );\n\n          case 'unorderedList':\n            return (\n              <TextBlockUnorderedList\n                key={`${section.content.join('')}-unordered-list`}\n                textAlign={textAlign}\n                isInView={inView}\n                isAnimated={isAnimated}\n                items={section.content}\n                brandComponentTheme={brandComponentTheme}\n              />\n            );\n\n          case 'cta':\n            return (\n              <TextBlockCTA\n                key={section.content._id}\n                isInView={inView}\n                isAnimated={isAnimated}\n                link={section.content}\n                brandComponentTheme={brandComponentTheme}\n              />\n            );\n\n          default:\n            return null;\n        }\n      })}\n    </TextualBlock>\n  );\n}\n\nexport default TextBlock;\n","export * from './lib/text-block';\nexport * from './lib/blocks';\n","import { CustomMarkdown } from '@dx-ui/osc-custom-markdown';\nimport {\n  TextualBlock,\n  makeHeadingOverrides,\n  makeDescriptionClassName,\n  makeLinkClassName,\n  makeOrderedListClassName,\n  makeUnorderedListClassName,\n  makeOrderedListItemClassName,\n} from '@dx-ui/osc-textual-block';\nimport { getIsReducedMotion } from '@dx-ui/utilities-accessibility';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nexport type MarkdownBlockProps = {\n  markdown: string;\n  className?: string;\n  isAnimated: boolean;\n  textAlign?: 'left' | 'right' | 'center';\n  isBorderTrim?: boolean;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport function MarkdownBlock({\n  markdown,\n  brandComponentTheme,\n  textAlign = 'left',\n  isBorderTrim,\n  isAnimated = false,\n}: MarkdownBlockProps) {\n  const { ref: intersectionRef, isIntersecting: inView } = useIntersectionObserver({\n    threshold: 0.3,\n    freezeOnceVisible: true,\n  });\n  const wrapperRef = !getIsReducedMotion() && isAnimated ? intersectionRef : null;\n\n  const options: Exclude<React.ComponentProps<typeof CustomMarkdown>['options'], undefined> = {\n    overrides: {\n      ...makeHeadingOverrides({\n        brandComponentTheme,\n        isAnimated,\n        isInView: inView,\n        textAlign,\n      }),\n\n      p: {\n        props: {\n          className: makeDescriptionClassName({\n            brandComponentTheme,\n            isAnimated,\n            isInView: inView,\n            textAlign,\n          }),\n        },\n      },\n\n      a: {\n        props: { className: makeLinkClassName({ brandComponentTheme }) },\n      },\n\n      ol: {\n        props: {\n          className: makeOrderedListClassName({\n            isAnimated,\n            isInView: inView,\n            brandComponentTheme,\n          }),\n        },\n      },\n\n      ul: {\n        props: {\n          className: makeUnorderedListClassName({\n            isAnimated,\n            isInView: inView,\n            brandComponentTheme,\n          }),\n        },\n      },\n\n      li: { props: { className: makeOrderedListItemClassName({ brandComponentTheme }) } },\n    },\n  };\n\n  return (\n    <TextualBlock\n      brandComponentTheme={brandComponentTheme}\n      textAlign={textAlign}\n      hasBorderTrim={isBorderTrim ?? false}\n      ref={wrapperRef}\n    >\n      {/*\n      language and origin are used by Markdown to construct Anchor Tag props, but we are overriding them.\n      so we don't need to set anything here\n      */}\n      <CustomMarkdown options={options}>{markdown}</CustomMarkdown>\n    </TextualBlock>\n  );\n}\n","import cx from 'classnames';\nimport { useId, useRef } from 'react';\nimport { useRect } from '@dx-ui/utilities-use-rect';\n\nimport { useHasUserModifiedFontDefaults } from '@dx-ui/utilities-accessibility';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\n\nexport type TCurvedHeading = {\n  /** Text to curve along the SVG path. */\n  curvedText: string;\n  /** Pass additional classes to the parent `<h2>` wrapper. */\n  className?: string;\n  /** Pass additional classes to the text elements. */\n  textClassNames?: string;\n  /** Used to calculate the intensity of the circular arc on which the text is placed. Defaults to `0.5`. Suggested value is between `0` and `1`. */\n  curvature?: number;\n  /** Optional heading text to display below the curved header. */\n  textBelow?: string;\n  /** Optional second node to display below the 'textBelow'. */\n  nodeBelow?: React.ReactNode;\n  /** Optional prop to designate heading level, default is h2. */\n  headingLevel?: HeadingLevel;\n  /** Used to disable the curve */\n  shouldDisable?: boolean;\n};\n\nexport const CurvedHeading = ({\n  className,\n  textClassNames,\n  curvedText,\n  curvature = 0.5,\n  textBelow,\n  nodeBelow,\n  headingLevel,\n  shouldDisable,\n}: TCurvedHeading) => {\n  const id = useId();\n  const curvedHeadingId = `curved-heading-${id}`;\n  const textRef = useRef(null);\n  const svgTextDimensions = useRect({ ref: textRef });\n  const calculatedCurvature = Math.sin((curvature * Math.PI) / 2);\n  const viewBoxWidth = 200;\n  const viewBoxHeight = viewBoxWidth * calculatedCurvature;\n  const shouldDisableCurve = useHasUserModifiedFontDefaults() || shouldDisable;\n\n  return (\n    <HeadingLevel\n      headingLevelFallback={headingLevel}\n      className={cx(className, { 'flex flex-col': shouldDisableCurve })}\n    >\n      {shouldDisableCurve ? (\n        <span\n          className={cx(\n            'heading-2xl md:heading-3xl lg:heading-4xl text-balance sm:text-wrap',\n            textClassNames\n          )}\n        >\n          {curvedText}\n        </span>\n      ) : (\n        <span\n          className={cx('block w-full min-w-48 text-center', {\n            'min-w-56 md:min-w-80 lg:min-w-96': !textBelow,\n          })}\n          style={{ height: svgTextDimensions?.height }}\n        >\n          <svg\n            className=\"top-1/2 -translate-y-1/2 overflow-visible\"\n            viewBox={`0 0 ${viewBoxWidth} ${viewBoxHeight}`}\n            role=\"img\"\n          >\n            <title>{curvedText}</title>\n            <defs>\n              <path\n                id={curvedHeadingId}\n                fill=\"transparent\"\n                d={`M 0, ${viewBoxHeight} Q ${viewBoxWidth / 2} ${\n                  viewBoxHeight * (1 - calculatedCurvature)\n                } ${viewBoxWidth}, ${viewBoxHeight}`}\n              />\n            </defs>\n            <text\n              ref={textRef}\n              className={cx('heading-3xl fill-current text-center', textClassNames)}\n            >\n              <textPath xlinkHref={`#${curvedHeadingId}`} startOffset=\"50%\" textAnchor=\"middle\">\n                {curvedText}\n              </textPath>\n            </text>\n          </svg>\n        </span>\n      )}\n\n      {textBelow ? (\n        <span\n          className={cx(\n            'heading-4xl md:heading-5xl lg:heading-6xl text-balance sm:text-wrap',\n            textClassNames\n          )}\n        >\n          {textBelow}\n        </span>\n      ) : null}\n      {nodeBelow ? nodeBelow : null}\n    </HeadingLevel>\n  );\n};\n","export * from './curved-heading';\n","export * from './lib';\n","interface ByHilton {\n  className?: string;\n  fill?: string;\n}\n\nexport const ByHilton: React.FC<ByHilton> = ({ fill = 'fill-text-heading', className }) => (\n  <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"140\" height=\"15\" className={className}>\n    <title>by Hilton</title>\n    <g id=\"graduate-by-hilton\" className={fill}>\n      <path d=\"M0 .41h6.59c1.62 0 2.9.45 3.71 1.26.65.65.97 1.44.97 2.41v.04c0 1.6-.85 2.49-1.87 3.06 1.64.63 2.66 1.58 2.66 3.49v.04c0 2.6-2.11 3.89-5.31 3.89H0V.41Zm8.17 4.2c0-.93-.73-1.46-2.05-1.46H3.04v3h2.88c1.38 0 2.25-.45 2.25-1.5v-.04ZM6.65 8.75H3.04v3.12h3.71c1.38 0 2.21-.49 2.21-1.54v-.04c0-.95-.71-1.54-2.31-1.54ZM20.87 9.01 15.41.41h3.65l3.39 5.7L25.9.41h3.55l-5.46 8.54v5.66h-3.12v-5.6ZM99.21 7.13c.01-1.44.53-3.1 1.7-4.52.91-1.11 2.07-1.85 3.45-2.24 1.96-.56 3.9-.49 5.77.33 1.94.84 3.24 2.31 3.86 4.32.79 2.55.49 4.97-1.09 7.15-1.07 1.48-2.55 2.34-4.33 2.68-1.53.3-3.05.24-4.53-.27-1.76-.6-3.08-1.74-3.95-3.38-.61-1.15-.88-2.38-.88-4.07Zm7.6 4.94h.33c.11 0 .22-.02.33-.04 1.34-.19 2.33-.89 2.94-2.09.57-1.13.67-2.33.44-3.56-.32-1.71-1.54-3.11-3.32-3.36-.76-.1-1.51-.07-2.23.19-1.27.46-2.04 1.39-2.43 2.65-.3.96-.32 1.94-.11 2.92.2.95.64 1.78 1.4 2.41.76.63 1.66.89 2.64.87ZM120.63.42H123.81c.14 0 .21.04.27.16 1.57 2.93 3.15 5.86 4.73 8.79.03.05.06.1.13.21V.43h3.13v14.18H128.9c-.15 0-.22-.05-.28-.17l-4.68-8.73c-.04-.07-.08-.15-.15-.22v9.1h-3.14V.42ZM45.02 8.98v5.62h-3.28V.43h3.27v5.72h4.92V.43h3.29V14.6h-3.27V8.98h-4.92ZM90.7 14.61h-3.27V3.34h-3.9V.43H94.6v2.9h-3.9V14.6ZM74.68 11.69h5.27v2.91H71.4V.43h3.28v11.26ZM64.3 14.61h-3.26V.43h3.26v14.18ZM134.31.82h-.68V.41h1.84v.41h-.69v1.61h-.47V.82ZM136.05.42h.65l.56 1.28.56-1.28h.66v2.02h-.47V.99l-.63 1.44h-.23l-.63-1.44v1.44h-.47V.42Z\" />\n    </g>\n  </svg>\n);\n","import type * as React from 'react';\nimport cx from 'classnames';\n\nimport { TextBlock } from '@dx-ui/osc-text-block';\nimport type { ExperimentationConfiguration, OscDomLink } from '@dx-ui/cpm-sdk';\nimport { createCpmComponentDefinition, CpmMappingError } from '@dx-ui/cpm-sdk';\n\nimport { MarkdownBlock } from './MarkdownBlock';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\nimport { CurvedHeading } from '@dx-ui/osc-curved-heading';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { ByHilton } from './svg/by-hilton';\n\nexport type ParsedContentSection = Exclude<\n  React.ComponentProps<typeof TextBlock>['data'],\n  undefined\n>[number];\n\nexport default createCpmComponentDefinition(\n  'Text Component',\n\n  function mapData({\n    data,\n    cmsDocumentType,\n    componentParams,\n    mappedPage: { brandCode },\n    addIssue,\n    clearIssue,\n  }) {\n    if (data.markdownEditor) {\n      return {\n        experimentationConfiguration: data.experimentationConfiguration,\n        links: data.links,\n        markdown: data.markdownEditor,\n      } as {\n        markdown: string;\n        experimentationConfiguration?: ExperimentationConfiguration;\n        links: OscDomLink[];\n      };\n    }\n\n    const isStory = cmsDocumentType === 'Story';\n    const isGraduateBrand = brandCode === 'GU';\n\n    const mappedContentBlocks: Array<ParsedContentSection | null> = (data.contentBlock ?? []).map(\n      (section): ParsedContentSection | null => {\n        if (section?.description) {\n          return { kind: 'description', content: section.description };\n        }\n        if (section?.heading) {\n          return { kind: 'heading', content: section.heading };\n        }\n        if (section?.orderedList) {\n          return { kind: 'orderedList', content: section.orderedList };\n        }\n        if (section?.unorderedList) {\n          return { kind: 'unorderedList', content: section.unorderedList };\n        }\n\n        return null;\n      }\n    );\n\n    if (isStory && data?.links?.length) {\n      const link = data.links[0];\n\n      if (link) {\n        mappedContentBlocks.push({\n          kind: 'cta',\n          content: {\n            _id: '',\n            url: link.url,\n            label: link.label,\n            adaDescription: link.adaDescription || '',\n            isNewWindow: link.isNewWindow || false,\n            experimentationConfiguration: link.experimentationConfiguration,\n          },\n        });\n      }\n    }\n\n    const blocks = mappedContentBlocks.filter((section): section is ParsedContentSection =>\n      Boolean(section)\n    );\n\n    if (componentParams?.curvedHeader) {\n      const headlineTooLong = data?.headline?.length > 12;\n      const isTextAlignUsed =\n        componentParams?.textAlign === 'left' || componentParams?.textAlign === 'right';\n\n      if (!isGraduateBrand) {\n        throw new CpmMappingError(\n          `Curved Header parameter is only supported on Graduate brand pages.`\n        );\n      }\n\n      if (headlineTooLong) {\n        throw new CpmMappingError(`Curved Header headline has a hard limit of 12 characters.`);\n      }\n\n      if (!isStory) {\n        throw new CpmMappingError(`Curved Header is only supported in Story Documents.`);\n      }\n\n      if (isTextAlignUsed) {\n        addIssue({\n          id: data.id,\n          message:\n            'Curved Header is always centered. Setting Text Display to Left or Right will have no effect.',\n        });\n      } else {\n        clearIssue(data.id);\n      }\n    }\n\n    if (componentParams?.headerSvg === 'byHilton') {\n      if (!isGraduateBrand) {\n        throw new CpmMappingError(\n          `Curved Header SVG parameter is only supported on Graduate brand pages.`\n        );\n      }\n    }\n\n    if (!blocks.length && (!data.headline || !data.shortDescription)) {\n      addIssue({\n        id: data.id,\n        message: `\"${data.name || data.displayName}\" has no content attached`,\n      });\n    } else {\n      clearIssue(data.id);\n    }\n\n    return {\n      links: data.links,\n      headline: data.headline,\n      shortDescription: data.shortDescription,\n      longDescription: data.longDescription,\n      blocks,\n    };\n  },\n\n  function TextBlockCpm({ items = [], componentParams, mappedPage: { brandCode, languageCode } }) {\n    const { textAlign, animation, theme, borderTrim } = componentParams;\n\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    if ('headline' in data && 'shortDescription' in data) {\n      const isCurvedHeader = componentParams.curvedHeader;\n      const disableCurve = languageCode !== 'en' ? true : false;\n\n      if (isCurvedHeader) {\n        return (\n          <BrandComponentThemeInline\n            componentParams={componentParams}\n            brandCode={brandCode}\n            backgroundIllustration={{\n              isParallax: componentParams?.backgroundParallax,\n              variant: componentParams?.backgroundIllustration,\n            }}\n          >\n            <div className=\"container\">\n              <div className=\"flex justify-center overflow-y-hidden\">\n                <CurvedHeading\n                  curvedText={data?.headline}\n                  textBelow={data?.shortDescription}\n                  shouldDisable={disableCurve}\n                  textClassNames={\n                    theme === 'dark' ? 'text-text-inverse' : 'brand-ht:text-text-inverse'\n                  }\n                  className=\"py-6 text-center\"\n                  nodeBelow={\n                    componentParams.headerSvg === 'byHilton' && (\n                      <ByHilton\n                        className=\"mx-auto mt-3\"\n                        fill={theme === 'dark' ? 'fill-text-inverse' : 'fill-text-heading'}\n                      />\n                    )\n                  }\n                />\n              </div>\n              {data?.longDescription ? (\n                <BrandTextBody\n                  brandComponentTheme={theme}\n                  className={cx('pb-6 text-center', theme === 'dark' ? 'text-text-inverse' : '')}\n                >\n                  {data?.longDescription}\n                </BrandTextBody>\n              ) : null}\n            </div>\n          </BrandComponentThemeInline>\n        );\n      }\n    }\n\n    if ('blocks' in data) {\n      if (!data?.blocks.length) {\n        return null;\n      }\n\n      const filteredBlocks = data.blocks.map((block) => {\n        // Replace link with one that has been filtered by experimentation agent. Links are filtered by the CPM SDK.\n        // The link will be the same one as the mapping function if no experimentation agent(s) have been defined.\n        if (block.kind === 'cta' && data.links?.[0]) {\n          block.content = data.links[0];\n        }\n\n        return block;\n      });\n\n      return (\n        <BrandComponentThemeInline\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration,\n          }}\n        >\n          <TextBlock\n            textAlign={textAlign}\n            isAnimated={animation || brandCode === 'GU'}\n            isBorderTrim={borderTrim}\n            data={filteredBlocks}\n            brandComponentTheme={theme}\n          />\n        </BrandComponentThemeInline>\n      );\n    }\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <MarkdownBlock\n          textAlign={textAlign}\n          isAnimated={animation || brandCode === 'GU'}\n          isBorderTrim={borderTrim}\n          markdown={data.markdown}\n          brandComponentTheme={theme}\n        />\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { Alerts, Alert } from '@dx-ui/osc-alert';\nimport { Link } from '@dx-ui/osc-link';\nimport { createCpmComponentDefinition, useCreateManageContentButton } from '@dx-ui/cpm-sdk';\n\nimport { extractInstanceIndexFromId } from '../../utils';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  'Text Highlight',\n\n  function mapData({ data }) {\n    const { link } = data;\n\n    return {\n      ...data,\n      id: data.id ?? '',\n      link: link?.url ? link : null,\n      links: data.links,\n    };\n  },\n\n  function TextHighlight({\n    items = [],\n    componentParams,\n    listData: data,\n    mappedPage: { brandCode },\n  }) {\n    const metrics = useMetrics();\n    const createManageContentButton = useCreateManageContentButton();\n    const id = data?.id ?? '';\n\n    if (!items.length) {\n      return null;\n    }\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    const onChange = (index: number, direction: 'previous' | 'next' | undefined) => {\n      metrics?.trackTextHeadlinerClick?.([\n        {\n          textHeadlinerNumber: extractInstanceIndexFromId(id),\n          itemNumber: index + 1,\n          totalItems: items.length,\n          leftArrow: direction === 'previous',\n          rightArrow: direction === 'next',\n        },\n      ]);\n    };\n\n    return itemsWithManageContentButton?.length > 0 ? (\n      <BrandComponentThemeInline componentParams={componentParams} brandCode={brandCode}>\n        <div data-testid=\"text-highlight-wrapper\">\n          <Alerts onChangeIndex={(index, direction) => onChange(index, direction)} loop>\n            {itemsWithManageContentButton.map((item) => (\n              <Alert\n                status=\"normal\"\n                title={item.headline}\n                isTruncated={false}\n                key={item.id}\n                className={item.cmsTranslationClasses}\n              >\n                {item?.link?.url ? (\n                  <Link\n                    url={item.link.url}\n                    showNewWindowIcon={item.link.isNewWindow}\n                    isNewWindow={item.link.isNewWindow}\n                    data-conductrics-goal={item.link.experimentationConfiguration?.goal}\n                    data-conductrics-value={item.link.experimentationConfiguration?.value}\n                    className=\"text-text\"\n                  >\n                    {item?.link?.label}\n                  </Link>\n                ) : null}\n                {item.cmsDocumentControl}\n              </Alert>\n            ))}\n          </Alerts>\n        </div>\n      </BrandComponentThemeInline>\n    ) : null;\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport cx from 'classnames';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { Link as Linktype } from '@dx-ui/osc-link';\n\nexport type AttachedContentProps = {\n  headline?: string;\n  description?: string | null;\n  link?: (Linktype & { experimentationConfiguration?: CmsExperimentationConfiguration }) | null;\n  alignContent?: CmsAlignContent;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport const DocsTAttachedContent: React.FC<React.PropsWithChildren<AttachedContentProps>> = () =>\n  null;\n\nexport const AttachedContent = ({\n  headline,\n  description,\n  link,\n  alignContent = 'center',\n  brandComponentTheme,\n}: AttachedContentProps) => {\n  const textAlignCss = {\n    'text-left': alignContent === 'left',\n    'text-right': alignContent === 'right',\n    'text-center': alignContent === 'center',\n  };\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div\n      data-testid=\"carousel-attached-content\"\n      className={cx('container relative py-8 text-center xl:pb-12 xl:pt-10', {\n        'bg-bg-light': isLight,\n        'bg-bg-dark': isDark,\n      })}\n    >\n      {headline ? (\n        <BrandTextHeader\n          className={cx(textAlignCss, 'heading-4xl sm:heading-5xl lg:heading-6xl', {\n            '!text-text-inverse': isDark,\n            'video-poster-headline-light': isLight,\n          })}\n        >\n          {headline}\n        </BrandTextHeader>\n      ) : null}\n\n      {description ? (\n        <BrandTextBody\n          className={cx(textAlignCss, {\n            'text-text-inverse': isDark,\n            'video-poster-long-description-light': isLight,\n          })}\n          brandComponentTheme={brandComponentTheme}\n        >\n          {description}\n        </BrandTextBody>\n      ) : null}\n\n      {link ? (\n        <div className={cx('mt-2 p-0 xl:mt-4', textAlignCss)}>\n          <BrandLink\n            isNewWindow={link.isNewWindow}\n            showNewWindowIcon={link.isNewWindow}\n            url={link.url}\n            label={link.label}\n            brandComponentTheme={brandComponentTheme}\n            data-conductrics-goal={link.experimentationConfiguration?.goal}\n            data-conductrics-value={link.experimentationConfiguration?.value}\n          />\n        </div>\n      ) : null}\n    </div>\n  );\n};\n","import { VideoPlayer } from '@dx-ui/osc-video-player';\nimport { AttachedContent, type AttachedContentProps } from './AttachedContent';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\n\nexport interface VideoProps extends React.ComponentProps<typeof VideoPlayer> {\n  attachedContent?: AttachedContentProps;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  shouldAnimateReveal: boolean;\n  altText?: string;\n}\n\n/**\n * Full screen width video component, auto-play, with video controls and optional attached content with text and CTA link/button.\n */\nexport const VideoPoster = ({\n  videoUrl,\n  videoGroup,\n  videoLabel,\n  videoName,\n  posterImageUrl,\n  orientation = 'landscape',\n  attachedContent,\n  brandComponentTheme,\n  isAutoPlay = true,\n  captionData,\n  audioTracks,\n  captionTracks,\n  transcriptTracks,\n  markupSchemas,\n  shouldAnimateReveal,\n  altText,\n  isMuted,\n}: VideoProps) => {\n  const hasAudio = !altText && !isMuted;\n  return (\n    <>\n      <div data-testid=\"video-poster-wrapper\">\n        <VideoPlayer\n          markupSchemas={markupSchemas}\n          videoUrl={videoUrl}\n          videoGroup={videoGroup}\n          videoLabel={videoLabel}\n          videoName={videoName}\n          posterImageUrl={posterImageUrl}\n          orientation={orientation}\n          videoId=\"video-poster\"\n          captionData={captionData}\n          audioTracks={audioTracks}\n          captionTracks={captionTracks}\n          transcriptTracks={transcriptTracks}\n          isAutoPlay={isAutoPlay}\n          brandComponentTheme={brandComponentTheme}\n          role={altText ? 'img' : undefined}\n          aria-label={altText ? altText : undefined}\n          hasAudio={hasAudio}\n          videoControlsProps={{\n            ...(altText && { videoVariant: 'cinemagraph' }),\n          }}\n        />\n      </div>\n      {attachedContent && (\n        <AnimateRevealItem delay={0} isAnimated={shouldAnimateReveal} animationType=\"fade-in-up\">\n          <AttachedContent\n            headline={attachedContent.headline}\n            description={attachedContent.description}\n            link={attachedContent.link}\n            brandComponentTheme={brandComponentTheme}\n            alignContent={attachedContent.alignContent}\n          />\n        </AnimateRevealItem>\n      )}\n    </>\n  );\n};\n\nexport default VideoPoster;\n","import { useIsClient } from 'usehooks-ts';\n\nimport { CpmMappingError, createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { mapMultimediaListToVideoProps } from '@dx-ui/osc-video-player';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport VideoPoster from './VideoPoster';\n\nexport default createCpmComponentDefinition(\n  'Video Poster',\n  function mapData({ data, mappedPage }) {\n    const video = data?.videos?.[0];\n    const multimedia = data?.multimedia;\n    const link = data.link;\n    const attachedContent = {\n      link: link?.url ? link : undefined,\n      description: data.longDescription,\n      headline: data.headline,\n    };\n\n    if (multimedia?.length) {\n      const firstMultimedia = multimedia[0];\n      const multimediaCaption = firstMultimedia?.captionLink;\n      const multimediaCaptionData =\n        multimediaCaption?.linkLabel && multimediaCaption?.linkUrl\n          ? {\n              caption: multimediaCaption.linkLabel,\n              captionLink: multimediaCaption.linkUrl,\n            }\n          : undefined;\n\n      return {\n        id: data.id,\n        links: data.links,\n        ...mapMultimediaListToVideoProps({ multimedia, mappedPage }),\n        attachedContent,\n        captionData: multimediaCaptionData,\n      };\n    }\n\n    if (video) {\n      if (video.source !== 'cloudinary') {\n        throw new CpmMappingError(\n          `Video Poster only supports Cloudinary videos, but this document's video source is set to \"${video.source}\" (${data.contentType} - ${data.displayName})`\n        );\n      }\n\n      const { caption, captionLink, url: videoUrl, transcript } = video;\n      const captionData = caption && captionLink ? { caption, captionLink } : undefined;\n\n      return {\n        id: data.id,\n        links: data.links,\n        videoUrl,\n        //The \"transcript\" field in the CMS is being used as an interim measure.\n        //https://jira.hilton.com/browse/NHCBP-5914 will be a better long term solution\n        altText: transcript,\n        captionData,\n        attachedContent,\n      };\n    }\n\n    if (!video && !multimedia) {\n      throw new CpmMappingError(\n        `Video Poster must have a video or multimedia asset (${data.contentType} - ${data.displayName})`\n      );\n    }\n\n    return {\n      id: data.id,\n      links: data.links,\n      videoUrl: '',\n    };\n  },\n\n  function VideoPosterCpm({ items = [], componentParams, mappedPage: { brandCode } }) {\n    // the VideoPoster fails to load the video asset on initial render\n    // Triggering a re-render causes the asset to be loaded correctly\n    const isClient = useIsClient();\n\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <VideoPoster\n          {...data}\n          key={String(isClient)}\n          brandComponentTheme={componentParams.theme}\n          shouldAnimateReveal={brandCode === 'GU'}\n        />\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import {\n  ANALYTICS_NO_VALUE,\n  type BaseImageMetrics,\n  ImageClickID,\n  ImageFunction,\n  ImageType,\n} from '@dx-ui/config-metrics';\nimport type { PatchworkGridMetrics } from '../types/patchwork-grid-analytics';\n\ntype GeneratePatchworkGridMetricsParams = {\n  metrics?: Partial<BaseImageMetrics>;\n  position: number;\n  count?: number;\n  itemTitle?: string;\n  headline?: string;\n  imageType?: (typeof ImageType)['Patchwork'];\n};\n\n/**\n * Utility function to generate Patchwork Grid metrics\n */\nexport function generatePatchworkGridMetrics({\n  metrics,\n  position,\n  count = 0,\n  itemTitle = ANALYTICS_NO_VALUE,\n  headline = ANALYTICS_NO_VALUE,\n  imageType = ImageType.Patchwork,\n}: GeneratePatchworkGridMetricsParams): PatchworkGridMetrics {\n  const patchworkGridMetrics = {\n    click: {\n      clickID: ImageClickID.Img,\n    },\n    osc: {\n      ...metrics?.osc,\n      image: {\n        ...metrics?.osc?.image,\n        count,\n        itemTitle,\n        type: imageType,\n        headline,\n        position,\n        function: ImageFunction.Link,\n      },\n    },\n  };\n\n  return patchworkGridMetrics;\n}\n","import type * as React from 'react';\nimport cx from 'classnames';\nimport { Image } from 'next/dist/client/image-component';\nimport { useEffect, useRef, useState } from 'react';\nimport type { Variant } from '@dx-ui/osc-brand-buttons';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport type { Link } from '@dx-ui/osc-link';\nimport { Caption } from '@dx-ui/osc-caption';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { getAspectRatioUrl } from '@dx-ui/utilities-images';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport {\n  ANALYTICS_GLOBAL_CLICK_EVENT,\n  ANALYTICS_NO_VALUE,\n  clearImageAnalyticsData,\n  trackEvent,\n} from '@dx-ui/config-metrics';\nimport { generatePatchworkGridMetrics } from './utils/patchwork-grid-analytics';\n\ntype PatchworkGridImage = {\n  altText?: string;\n  url: string;\n  variants?: {\n    '2x1': string;\n  };\n  captionData?: CaptionProps;\n};\n\ntype RowImageType = {\n  imageCount: number;\n  image: PatchworkGridImage;\n  index: number;\n  isAnimated?: boolean;\n  delay: number;\n  shouldUseGetAspectRatio?: boolean;\n  headline?: string;\n  numImages: number;\n  imageIndex: number;\n  patchWorkHeadline?: string;\n};\n\ntype RowHeadlineType = Pick<\n  PatchWorkGridRowType,\n  | 'link'\n  | 'description'\n  | 'headline'\n  | 'brandComponentTheme'\n  | 'rowHeadlineClassName'\n  | 'customContent'\n> &\n  Pick<React.ComponentProps<typeof AnimateRevealItem>, 'isAnimated' | 'delay'>;\n\nexport type PatchWorkGridRowType = {\n  /** Headline for Copy section in Row */\n  headline?: string;\n  /** Description for section in Row */\n  description?: string;\n  /** CTA for section in Row */\n  link?: React.ComponentProps<typeof Link> & {\n    experimentationConfiguration?: CmsExperimentationConfiguration;\n    /** Optional link variant @see {@linkcode Variant} */\n    variant?: Variant;\n  };\n  /** Flip the direction of the Image / Copy sections */\n  isReverse?: boolean;\n  /** An array of PatchworkGridImage objects */\n  images?: PatchworkGridImage[];\n  /** Brand color themes, \"light\" | \"dark\" */\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /** Add Tailwind classes to the row headline */\n  rowHeadlineClassName?: string;\n  /** Use getAspectRatioUrl for Images */\n  shouldUseGetAspectRatio?: boolean;\n  /** Enable scrolling animations */\n  isAnimated?: boolean;\n  /** Render custom content instead of heading / description / link */\n  customContent?: React.ReactNode;\n  /** Number of total PatchworkGrid Rows - used for analytics */\n  numImages?: number;\n  /** Starting index for images for that row - used by analytics to compute the image position */\n  startingImageIndex?: number;\n  /** The first non-empty headline in the row data - used for analytics */\n  patchWorkHeadline?: string;\n};\n\nexport function PatchworkGridRow({\n  isReverse,\n  brandComponentTheme,\n  headline,\n  description,\n  link,\n  images,\n  isAnimated,\n  rowHeadlineClassName,\n  shouldUseGetAspectRatio,\n  customContent,\n  numImages = 0,\n  startingImageIndex = 0,\n  patchWorkHeadline,\n}: PatchWorkGridRowType) {\n  // If a headline is provided, the row can only display a single image. Strip out the other images.\n  (headline || description || link) && images && images?.length > 1 && images.splice(1);\n\n  const delay = isReverse ? [200, 100] : [100, 200];\n  const numImagesInRow = images?.length || 0;\n\n  const rowImages =\n    (images && images?.length >= 1 && (headline || description || link)) ||\n    (images && images?.length > 1)\n      ? images\n          .filter((image) => !!image)\n          .map((image, index) => {\n            const normalizedImageIndex = isReverse ? numImagesInRow - index - 1 : index;\n\n            // The imageIndex should be adjusted to account for the startingImageIndex.\n            const imageIndex = startingImageIndex + normalizedImageIndex;\n\n            return RowImage({\n              imageCount: images?.length,\n              image,\n              index,\n              isAnimated,\n              delay: delay[index] ?? 0,\n              shouldUseGetAspectRatio,\n              numImages,\n              imageIndex,\n              patchWorkHeadline,\n            });\n          })\n      : [];\n\n  const orderedElements = [\n    ...rowImages,\n    <RowHeadline\n      link={link}\n      description={description}\n      headline={headline}\n      brandComponentTheme={brandComponentTheme}\n      isAnimated={isAnimated}\n      customContent={customContent}\n      delay={delay[1] ?? 0}\n      rowHeadlineClassName={rowHeadlineClassName}\n      key=\"headline\"\n    />,\n  ];\n\n  return isReverse ? orderedElements.reverse() : orderedElements;\n}\n\nconst RowHeadline: React.FC<RowHeadlineType> = ({\n  link,\n  description,\n  headline,\n  brandComponentTheme,\n  isAnimated,\n  delay,\n  rowHeadlineClassName = '',\n  customContent,\n}) => {\n  if (!headline && !description && !link) return null;\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div\n      className={cx(\n        'col-span-1 flex flex-col justify-center px-8 py-11 sm:col-span-2 sm:py-8 xl:px-32',\n        {\n          [rowHeadlineClassName]: !!rowHeadlineClassName,\n        }\n      )}\n    >\n      {customContent ? (\n        customContent\n      ) : (\n        <AnimateRevealItem delay={delay} isAnimated={isAnimated}>\n          {headline ? (\n            <HeadingLevel\n              headingLevelFallback={3}\n              className={cx('heading-xl patchwork-grid-row-headline-text pb-4', {\n                '!text-text-inverse': isDark,\n                'patchwork-grid-row-headline-text-light': isLight,\n              })}\n            >\n              {headline}\n            </HeadingLevel>\n          ) : null}\n\n          {description ? (\n            <BrandTextBody\n              className={cx(\n                'text-text pb-4 text-base font-normal sm:text-xl',\n                'patchwork-grid-row-description-text',\n                {\n                  'text-text-inverse': isDark,\n                  'patchwork-grid-row-description-text-light': isLight,\n                }\n              )}\n              brandComponentTheme={brandComponentTheme}\n            >\n              {description}\n            </BrandTextBody>\n          ) : null}\n\n          {link ? (\n            <BrandLink\n              url={link.url}\n              label={link.label}\n              isNewWindow={link.isNewWindow}\n              showNewWindowIcon={link.isNewWindow}\n              brandComponentTheme={brandComponentTheme}\n              variant={link.variant}\n              data-conductrics-goal={link.experimentationConfiguration?.goal}\n              data-conductrics-value={link.experimentationConfiguration?.value}\n              onClick={() => clearImageAnalyticsData()}\n            />\n          ) : null}\n        </AnimateRevealItem>\n      )}\n    </div>\n  );\n};\n\nconst RowImage: React.FC<RowImageType> = ({\n  imageCount,\n  image,\n  isAnimated,\n  delay,\n  index,\n  shouldUseGetAspectRatio,\n  numImages,\n  imageIndex,\n  patchWorkHeadline,\n}) => {\n  const imageRef = useRef<HTMLDivElement | null>(null);\n\n  // If two images are provided to a row, the first image should display at a 2x1 aspect ratio.\n  const imageSize = imageCount === 2 && index === 0 ? '2x1' : '1x1';\n\n  // If two images are provided to a row, the first image should display the 2x1 variant, if it exists.\n  const imageSource =\n    imageCount === 2 && index === 0 ? image?.variants?.['2x1'] ?? image?.url : image?.url;\n\n  const [imageSrc, setImageSrc] = useState(imageSource);\n\n  useEffect(() => {\n    const aspectRatioImage = getAspectRatioUrl({\n      src: imageSource,\n      width: imageRef.current ? imageRef.current.offsetWidth : 0,\n    }).twoXimgUrl;\n\n    setImageSrc(shouldUseGetAspectRatio && aspectRatioImage ? aspectRatioImage : imageSource);\n  }, [imageSource, imageRef, shouldUseGetAspectRatio]);\n\n  if (!imageSrc) {\n    return null;\n  }\n\n  return (\n    <figure\n      className={cx('relative col-span-1 overflow-hidden', {\n        'aspect-[2/1] sm:col-span-2 sm:aspect-auto': imageSize === '2x1',\n        'aspect-square': imageSize === '1x1',\n      })}\n      key={index}\n      ref={imageRef}\n    >\n      <AnimateRevealItem delay={delay} className=\"size-full\" isAnimated={isAnimated}>\n        <Image\n          unoptimized={true}\n          src={imageSrc}\n          alt={image?.altText || ''}\n          fill\n          style={{ objectFit: 'cover' }}\n          className=\"image-corner-radius\"\n        />\n        {image.captionData && (\n          <Caption\n            caption={image?.captionData?.caption}\n            captionLink={image?.captionData?.captionLink}\n            metricsOnClick={() => {\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generatePatchworkGridMetrics({\n                  count: numImages,\n                  position: imageIndex,\n                  itemTitle: image?.captionData?.caption || ANALYTICS_NO_VALUE,\n                  headline: patchWorkHeadline || ANALYTICS_NO_VALUE,\n                })\n              );\n            }}\n          />\n        )}\n      </AnimateRevealItem>\n    </figure>\n  );\n};\n\nexport default PatchworkGridRow;\n","import type * as React from 'react';\nimport cx from 'classnames';\n\nimport { type PatchWorkGridRowType, PatchworkGridRow } from './patchwork-grid-row';\nimport { HeadingLevel, HeadingLevelProvider } from '@dx-ui/osc-heading-level';\nimport { useMemo } from 'react';\n\nexport type PatchworkGridType = {\n  /** Headline for Patchwork Grid */\n  listHeadline?: string;\n  /** Long Description sits underneath Headline */\n  listDescription?: string;\n  /** Flip the direction of the Image / Copy sections */\n  isReverse?: boolean;\n  /** An array of PatchWorkRowType objects */\n  rows: PatchWorkGridRowType[];\n  /** Theme variable for dark/light theming */\n  brandComponentTheme?: CmsBrandComponentTheme;\n  /** Add Tailwind classes to root element */\n  className?: string;\n  /** Add Tailwind classes to the row headline */\n  rowHeadlineClassName?: string;\n  /** Use getAspectRatioUrl for Images */\n  shouldUseGetAspectRatio?: boolean;\n  /** Enable scrolling animations */\n  isAnimated?: boolean;\n  /** Render custom content instead of heading / description / link */\n  customContent?: React.ReactNode;\n};\n\nexport const PatchworkGrid: React.FC<PatchworkGridType> = ({\n  listHeadline,\n  listDescription,\n  isReverse = false,\n  rows,\n  brandComponentTheme,\n  className = '',\n  rowHeadlineClassName,\n  shouldUseGetAspectRatio,\n  isAnimated = false,\n  customContent,\n}) => {\n  // Count the total number of images in the Patchwork Grid\n  const imageCount = rows.reduce((total, row) => {\n    return total + (Array.isArray(row.images) ? row.images.length : 0);\n  }, 0);\n\n  // Get the first non-empty headline from the rows\n  const patchWorkHeadline = useMemo(() => {\n    const rowWithHeadline = rows.find((row) => row.headline);\n    return rowWithHeadline ? rowWithHeadline.headline : undefined;\n  }, [rows]);\n\n  let imageIndex = 1;\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <section\n      className={cx('relative', {\n        'bg-bg-transparent': !isLight && !isDark,\n        'bg-bg-light': isLight,\n        'bg-bg-dark': isDark,\n      })}\n    >\n      <div\n        className={cx('container overflow-hidden px-4 sm:px-10', {\n          [className]: !!className,\n        })}\n        data-testid=\"patchworkGrid\"\n      >\n        {listHeadline ? (\n          <HeadingLevel\n            headingLevelFallback={2}\n            className={cx(\n              'heading-2xl lg:heading-4xl patchwork-grid-headline-text mb-2 py-6 xl:mb-4',\n              {\n                '!text-text-inverse': isDark,\n                'patchwork-grid-headline-text-light': isLight,\n              }\n            )}\n          >\n            {listHeadline}\n          </HeadingLevel>\n        ) : null}\n        {listDescription ? (\n          <p\n            className={cx(\n              'text-text mb-4 py-6 text-base font-normal xl:text-xl',\n              'patchwork-grid-description-text',\n              {\n                'text-text-inverse': isDark,\n                'patchwork-grid-description-text-light': isLight,\n              }\n            )}\n          >\n            {listDescription}\n          </p>\n        ) : null}\n        {rows?.map((row, i) => {\n          // Keep track of the current row's image count\n          const numImagesInRow = Array.isArray(row.images) ? row.images.length : 0;\n          const currentImageIndex = imageIndex;\n          imageIndex += numImagesInRow;\n          return (\n            <div\n              // eslint-disable-next-line react/no-array-index-key --- Use i to guard against missing or duplicate headlines\n              key={`${row.headline}${i}`}\n              className=\"grid grid-cols-1 gap-y-4 pb-4 sm:grid-cols-3 sm:gap-x-4\"\n            >\n              <HeadingLevelProvider\n                isEnabled\n                shouldIncreaseLevel={!!listHeadline}\n                level={!listHeadline ? 2 : 3}\n              >\n                <PatchworkGridRow\n                  {...row}\n                  isReverse={isReverse}\n                  brandComponentTheme={brandComponentTheme}\n                  isAnimated={isAnimated}\n                  rowHeadlineClassName={rowHeadlineClassName}\n                  shouldUseGetAspectRatio={shouldUseGetAspectRatio}\n                  customContent={customContent}\n                  numImages={imageCount}\n                  startingImageIndex={currentImageIndex}\n                  patchWorkHeadline={patchWorkHeadline}\n                />\n              </HeadingLevelProvider>\n            </div>\n          );\n        })}\n      </div>\n    </section>\n  );\n};\n\nexport default PatchworkGrid;\n","export * from './lib/patchwork-grid';\n","import { createCpmComponentDefinition, type StructuredAsset } from '@dx-ui/cpm-sdk';\nimport { PatchworkGrid, type PatchworkGridType } from '@dx-ui/patchwork-grid';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport cx from 'classnames';\n\ntype ImageObjectTypes = {\n  aspectRatios: {\n    [key: string]: {\n      url: string;\n    };\n  };\n  altText?: string;\n  caption?: string;\n  captionLink?: string;\n};\n\nconst createImageObject = (image: ImageObjectTypes) => {\n  return {\n    url: image?.aspectRatios['1x1']?.url ?? image?.aspectRatios['3x2']?.url ?? '',\n    variants: {\n      '2x1': image?.aspectRatios?.['2x1']?.url ?? image?.aspectRatios['16x9']?.url ?? '',\n    },\n    altText: image?.altText ?? '',\n    captionData: image?.caption\n      ? {\n          caption: image?.caption,\n          captionLink: image?.captionLink ?? '',\n        }\n      : undefined,\n  };\n};\n\nexport default createCpmComponentDefinition(\n  'Patchwork Grid',\n\n  function mapComponentData({ data, componentParams }) {\n    const images = data.cpmAssets;\n\n    const rows: PatchworkGridType['rows'] = [\n      {\n        headline: data.headline ?? '',\n        description: data.longDescription ?? '',\n        link: {\n          label: data.link?.label ?? '',\n          url: data.link?.url ?? '',\n          isNewWindow: data.link?.isNewWindow ?? false,\n          adaDescription: data.link?.adaDescription ?? '',\n          experimentationConfiguration: data.link?.experimentationConfiguration,\n        },\n        // The first row only gets a single image\n        // min 1 / max 1 image for row 1\n        images: images.length > 0 && images[0] ? [createImageObject(images[0])] : [],\n      },\n    ];\n\n    if (images.length > 1) {\n      // If more than one image is supplied in the doc, these fall onto the second row.\n      // min 2  / max 3 images for row 2\n      const additionalImages = images\n        .slice(1, 4)\n        .filter((image): image is StructuredAsset => image !== undefined)\n        .map(createImageObject);\n\n      rows.push({\n        images: additionalImages,\n      });\n    }\n\n    return {\n      id: data.id,\n      links: data.links,\n      brandComponentTheme: componentParams?.theme,\n      rows,\n    };\n  },\n\n  function PatchworkGridCpm({ items = [], componentParams, mappedPage: { brandCode } }) {\n    const isWA = brandCode === 'WA';\n\n    if (!items.length) {\n      return null;\n    }\n\n    const patchworks = items.map((data) => {\n      data.rows = data.rows.map((row) => {\n        // Replace link with one that has been filtered by experimentation agent. Links are filtered by the CPM SDK.\n        // The link will be the same one as the mapping function if no experimentation agent(s) have been defined.\n        if (row.link) {\n          row.link = data.links[0];\n        }\n\n        return row;\n      });\n\n      return data;\n    });\n\n    return (\n      <BrandComponentThemeInline\n        componentClassName={cx({\n          'pt-8 xl:p-12 brand-wa:pt-16 brand-wa:xl:pt-20': componentParams.topPadding === 'default',\n          'pb-8 xl:p-12 brand-wa:pb-16 brand-wa:xl:pb-20':\n            componentParams.bottomPadding === 'default',\n        })}\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        {patchworks.map((data, index) => (\n          <AnimateRevealItem\n            key={data.id}\n            delay={0}\n            animationType=\"fade-in-up\"\n            isAnimated={brandCode === 'GU'}\n          >\n            <PatchworkGrid\n              key={data.id}\n              isReverse={componentParams.display === 'mirror' || Boolean(index % 2)}\n              brandComponentTheme={data?.brandComponentTheme}\n              rows={data.rows}\n              isAnimated={isWA}\n            />\n          </AnimateRevealItem>\n        ))}\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import Icon from '@dx-ui/osc-icon';\nimport { useState } from 'react';\n\nexport type TImageControlButton = {\n  icon: 'next' | 'previous';\n  className: string;\n  labelText: string;\n  navigationText: string;\n  onClick: () => void;\n};\n\nconst ImageControlButton = ({\n  icon,\n  className,\n  labelText,\n  navigationText,\n  onClick,\n}: TImageControlButton) => {\n  const [justClicked, setJustClicked] = useState(false);\n\n  const onButtonClick = () => {\n    if (onClick) onClick();\n    setJustClicked(true);\n    let timeout: number | null = null;\n    timeout = window.setTimeout(() => {\n      setJustClicked(false);\n    }, 150);\n    return () => timeout && window.clearTimeout(timeout);\n  };\n\n  const onButtonFocus = () => {\n    setJustClicked(true);\n    let timeout: number | null = null;\n    timeout = window.setTimeout(() => {\n      setJustClicked(false);\n    }, 150);\n    return () => timeout && window.clearTimeout(timeout);\n  };\n\n  return (\n    <>\n      <span className=\"sr-only\" aria-live=\"polite\">\n        {justClicked ? labelText.replace('Next slide,', '').replace('Previous slide', '') : ''}\n      </span>\n      <button className={className} onClick={onButtonClick} onFocus={onButtonFocus} type=\"button\">\n        <span className=\"sr-only\">{navigationText}</span>\n        <Icon\n          className=\"fill-bg-alt\"\n          name={icon === 'next' ? 'arrowhead-right' : 'arrowhead-left'}\n          size=\"xl\"\n        />\n      </button>\n    </>\n  );\n};\n\nexport default ImageControlButton;\n","import Image from 'next/image';\nimport type { AspectRatio } from '@dx-ui/osc-responsive-image';\nimport { GetHeightForWidthAndAspectRatio } from '@dx-ui/osc-responsive-image';\n\ntype FilmstripImage = {\n  id?: string;\n  alt: string;\n  src: string;\n  width: number;\n  aspectRatio: AspectRatio;\n  className?: string;\n  onLoad?: () => void;\n};\n\nconst NextImage = ({\n  id,\n  alt,\n  src,\n  width,\n  aspectRatio,\n  onLoad,\n  className = 'object-cover',\n}: FilmstripImage) => (\n  <Image\n    id={id}\n    alt={alt}\n    src={src}\n    width={width}\n    height={GetHeightForWidthAndAspectRatio(width, aspectRatio)}\n    className={className}\n    placeholder=\"blur\"\n    blurDataURL=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN88h8AAs0B5QWO2loAAAAASUVORK5CYII=\"\n    onLoad={onLoad}\n  />\n);\n\nexport { NextImage as Image };\n","import {\n  ANALYTICS_NO_VALUE,\n  type BaseImageMetrics,\n  ImageClickID,\n  type ImageClickIDType,\n  ImageFunction,\n  ImageType,\n} from '@dx-ui/config-metrics';\nimport type { FilmstripMetrics } from '../types/filmstrip-analytics';\n\ntype GenerateFilmstripMetricsParams = {\n  metrics?: Partial<BaseImageMetrics>;\n  position?: number;\n  count?: number;\n  headline?: string;\n  itemTitle?: string;\n  clickID: ImageClickIDType;\n  imageFunction?: (typeof ImageFunction)['Link'];\n};\n\n/**\n * Utility function to generate carousel metrics\n */\nexport const generateFilmstripMetrics = ({\n  metrics,\n  position = 0,\n  headline = ANALYTICS_NO_VALUE,\n  itemTitle = ANALYTICS_NO_VALUE,\n  clickID = ImageClickID.Scroll,\n  count = 0,\n  imageFunction,\n}: GenerateFilmstripMetricsParams): FilmstripMetrics => {\n  const filmstripMetrics = {\n    click: {\n      ...metrics?.click,\n      clickID,\n    },\n    osc: {\n      ...metrics?.osc,\n      image: {\n        ...metrics?.osc?.image,\n        headline,\n        count,\n        position,\n        itemTitle,\n        type: ImageType.Filmstrip,\n      },\n    },\n  };\n\n  if (imageFunction === ImageFunction.Link) {\n    filmstripMetrics.osc.image.function = ImageFunction.Link;\n  }\n\n  return filmstripMetrics;\n};\n","import { useState, useRef } from 'react';\nimport { useTranslation } from 'next-i18next';\nimport cx from 'classnames';\nimport { useRect } from '@dx-ui/utilities-use-rect';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport ImageControlButton from './image-control-button';\nimport { Image } from './utils';\nimport { Caption } from '@dx-ui/osc-caption';\nimport type { ImageClickIDType } from '@dx-ui/config-metrics';\nimport {\n  ANALYTICS_GLOBAL_CLICK_EVENT,\n  ImageClickID,\n  ImageFunction,\n  trackEvent,\n} from '@dx-ui/config-metrics';\nimport { generateFilmstripMetrics } from './utils/filmstrip-analytics';\n\nexport type FilmstripImageProps = {\n  id?: string;\n  altText: string;\n  desktopImageUrl: string;\n  mobileImageUrl: string;\n  captionData?: CaptionProps;\n  headline?: string;\n  linkHref?: string;\n  linkText?: string;\n  text?: string;\n};\n\nexport type FilmstripProps = {\n  /** An array of FilmstripImageProps **/\n  headline?: string;\n  images: FilmstripImageProps[];\n  /** The desired width of the Images within the Filmstrip. **/\n  imageWidth?: number;\n};\n\nconst getDisplayIndex = (activeIndex: number, imagesLength: number) => {\n  if ((activeIndex + 1) % imagesLength !== 0) return (activeIndex + 1) % imagesLength;\n  else return imagesLength;\n};\n\nconst getPreviousPreviousIndex = (activeIndex: number, imagesLength: number) => {\n  if (activeIndex - 2 === -1) return imagesLength - 1;\n  if (activeIndex - 2 === -2) return imagesLength - 2;\n  else return activeIndex - 2;\n};\n\nconst getPreviousIndex = (activeIndex: number, imagesLength: number) => {\n  if (activeIndex - 1 < 0) return imagesLength - 1;\n  else return activeIndex - 1;\n};\nconst getNextIndex = (activeIndex: number, imagesLength: number) => {\n  if (activeIndex + 1 > imagesLength - 1) return 0;\n  else return activeIndex + 1;\n};\nconst getNextNextIndex = (activeIndex: number, imagesLength: number) => {\n  if (activeIndex + 2 === imagesLength) return 0;\n  if (activeIndex + 2 === imagesLength + 1) return 1;\n  else return activeIndex + 2;\n};\n\nconst getOffsets = (imageWidth: number) => {\n  const doubleOffset = imageWidth * 2 + 16 * 2;\n\n  return {\n    previousPreviousOffset: `-${doubleOffset}px 0px`,\n    previousOffset: `-${imageWidth + 16}px 0px`,\n    nextOffset: `${imageWidth + 16}px -432px`,\n    nextNextOffset: `${doubleOffset}px -432px`,\n  };\n};\n\nexport const Filmstrip = ({ headline, images, imageWidth = 768 }: FilmstripProps) => {\n  const [t] = useTranslation('osc-filmstrip');\n  const [activeIndex, setActiveIndex] = useState(0);\n  const [touchStart, setTouchStart] = useState(0);\n  const [touchEnd, setTouchEnd] = useState(0);\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n  const itemText = t('itemLabel') || 'slide';\n  const imageCount = (Array.isArray(images) && images.length) || 0;\n  const nextText = t('next', {\n    itemLabel: itemText,\n    count: images.length,\n    activeIndexLabel: getDisplayIndex(activeIndex, imageCount),\n  });\n  const previousText = t('previous', {\n    itemLabel: itemText,\n    count: imageCount,\n    activeIndexLabel: getDisplayIndex(activeIndex, imageCount),\n  });\n\n  const selectors =\n    'cursor-pointer absolute flex justify-center items-center bg-bg-inverse opacity-80';\n  const imgBaseAspectRatio = '16:9';\n  const imgBaseClassName = 'object-contain aspect-[16/9] image-corner-radius';\n\n  const trackFilmstripMetrics = (\n    index: number,\n    images: FilmstripImageProps[],\n    clickID: ImageClickIDType,\n    imageFunction?: (typeof ImageFunction)['Link']\n  ) =>\n    trackEvent(ANALYTICS_GLOBAL_CLICK_EVENT, {\n      ...generateFilmstripMetrics({\n        position: index + 1,\n        count: images.length,\n        clickID,\n        headline,\n        itemTitle: images[index]?.altText || undefined,\n        imageFunction,\n      }),\n    });\n\n  const scroll = (direction: string) => {\n    switch (direction) {\n      case 'next':\n        if (activeIndex === imageCount - 1) {\n          setActiveIndex(0);\n        } else {\n          setActiveIndex(activeIndex + 1);\n        }\n        trackFilmstripMetrics(activeIndex, images, ImageClickID.Scroll);\n        break;\n      case 'previous':\n        if (activeIndex === 0) {\n          setActiveIndex(imageCount - 1);\n        } else {\n          setActiveIndex(activeIndex - 1);\n        }\n        trackFilmstripMetrics(activeIndex, images, ImageClickID.Scroll);\n        break;\n      default:\n        break;\n    }\n  };\n\n  const handleTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {\n    e.stopPropagation();\n    setTouchStart(e.targetTouches[0]?.clientX ?? 0);\n  };\n  const handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n    setTouchEnd(e.targetTouches[0]?.clientX ?? 0);\n  };\n  const handleTouchEnd = () => {\n    // swipe sensitivity can be adjusted - travel distance in [number] pixels of user swipe event\n    const SWIPE_SENSITIVITY = 50;\n    // swipe left\n    if (touchStart - touchEnd > SWIPE_SENSITIVITY && touchEnd > 0) scroll('next');\n    // swipe right\n    if (touchStart - touchEnd < -SWIPE_SENSITIVITY && touchEnd > 0) scroll('previous');\n\n    setTouchStart(0);\n    setTouchEnd(0);\n  };\n\n  if (images && images.length) {\n    return (\n      <div\n        ref={ref}\n        className=\"relative overflow-hidden\"\n        data-testid=\"filmstrip-wrapper\"\n        onTouchEnd={handleTouchEnd}\n        onTouchMove={handleTouchMove}\n        onTouchStart={handleTouchStart}\n      >\n        <div className=\"my-4 flex justify-center overflow-hidden\">\n          <ImageControlButton\n            icon=\"previous\"\n            className={`${selectors} left-0 top-1/2 z-20 h-12 w-8 text-2xl`}\n            labelText={previousText}\n            navigationText={t('previousNavText')}\n            onClick={() => scroll('previous')}\n          />\n          <div className=\"z-10\">\n            {(rect?.width ?? 0) >= 2364 ? (\n              <div\n                className=\"absolute\"\n                style={{\n                  width: imageWidth,\n                  translate: getOffsets(imageWidth).previousPreviousOffset,\n                }}\n                role=\"presentation\"\n              >\n                {images.map((image, index) => (\n                  <div\n                    key={image.altText}\n                    className={cx('relative snap-center rounded', {\n                      hidden: index !== getPreviousPreviousIndex(activeIndex, images.length),\n                    })}\n                  >\n                    <Image\n                      alt={image.altText}\n                      src={image.desktopImageUrl}\n                      width={imageWidth}\n                      aspectRatio={imgBaseAspectRatio}\n                      className={imgBaseClassName}\n                    />\n                  </div>\n                ))}\n              </div>\n            ) : null}\n\n            <div\n              className=\"absolute\"\n              style={{\n                width: imageWidth,\n                translate: getOffsets(imageWidth).previousOffset,\n              }}\n              role=\"presentation\"\n            >\n              {images.map((image, index) => (\n                <div\n                  key={image.altText}\n                  className={cx('relative snap-center rounded', {\n                    hidden: index !== getPreviousIndex(activeIndex, images.length),\n                  })}\n                >\n                  <Image\n                    alt={image.altText}\n                    src={image.desktopImageUrl}\n                    width={imageWidth}\n                    aspectRatio={imgBaseAspectRatio}\n                    className={imgBaseClassName}\n                  />\n                </div>\n              ))}\n            </div>\n            <div>\n              {images.map((image, index) => (\n                <div\n                  key={image.altText}\n                  className={cx('relative snap-center rounded', {\n                    hidden: index !== activeIndex,\n                  })}\n                >\n                  <Image\n                    alt={image.altText}\n                    src={image.desktopImageUrl}\n                    width={imageWidth}\n                    aspectRatio={imgBaseAspectRatio}\n                    className={imgBaseClassName}\n                  />\n                  {image.captionData && (\n                    <Caption\n                      caption={image?.captionData?.caption}\n                      captionLink={image?.captionData?.captionLink}\n                      metricsOnClick={() =>\n                        trackFilmstripMetrics(index, images, ImageClickID.Img, ImageFunction.Link)\n                      }\n                    />\n                  )}\n                </div>\n              ))}\n            </div>\n            <div\n              className=\"absolute\"\n              style={{\n                width: imageWidth,\n                translate: getOffsets(imageWidth).nextOffset,\n              }}\n              role=\"presentation\"\n            >\n              {images.map((image, index) => (\n                <div\n                  key={image.altText}\n                  className={cx('relative snap-center rounded', {\n                    hidden: index !== getNextIndex(activeIndex, images.length),\n                  })}\n                >\n                  <Image\n                    alt={image.altText}\n                    src={image.desktopImageUrl}\n                    width={imageWidth}\n                    aspectRatio={imgBaseAspectRatio}\n                    className={imgBaseClassName}\n                  />\n                </div>\n              ))}\n            </div>\n            {(rect?.width ?? 0) >= 2364 ? (\n              <div\n                className=\"absolute\"\n                style={{\n                  width: imageWidth,\n                  translate: getOffsets(imageWidth).nextNextOffset,\n                }}\n                role=\"presentation\"\n              >\n                {images.map((image, index) => (\n                  <div\n                    key={image.altText}\n                    className={cx('relative snap-center rounded', {\n                      hidden: index !== getNextNextIndex(activeIndex, images.length),\n                    })}\n                  >\n                    <Image\n                      alt={image.altText}\n                      src={image.desktopImageUrl}\n                      width={imageWidth}\n                      aspectRatio={imgBaseAspectRatio}\n                      className={imgBaseClassName}\n                    />\n                  </div>\n                ))}\n              </div>\n            ) : null}\n          </div>\n          <ImageControlButton\n            icon=\"next\"\n            className={`${selectors} right-0 top-1/2 z-20 h-12 w-8 text-2xl`}\n            labelText={nextText}\n            navigationText={t('nextNavText')}\n            onClick={() => scroll('next')}\n          />\n          <div\n            className={`${selectors} text-bg-alt bottom-4 right-0 z-20 h-8 w-12 px-8 py-4 text-sm`}\n          >\n            {getDisplayIndex(activeIndex, images.length)}/{images.length}\n          </div>\n        </div>\n      </div>\n    );\n  } else {\n    return null;\n  }\n};\n\nexport default Filmstrip;\n","export * from './lib/filmstrip';\n","import { Filmstrip } from '@dx-ui/osc-filmstrip';\nimport type { FilmstripProps } from '@dx-ui/osc-filmstrip';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport type { BrandLinkProps } from '@dx-ui/osc-brand-buttons';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport cx from 'classnames';\n\nexport interface BrandFilmstripProps extends FilmstripProps {\n  headline?: string;\n  description?: string;\n  link?: BrandLinkProps & { experimentationConfiguration?: CmsExperimentationConfiguration };\n  brandComponentTheme?: 'light' | 'dark';\n  textAlign: CmsAlignContent | undefined;\n}\n\nexport const BrandFilmstrip = ({\n  headline,\n  description,\n  link,\n  images,\n  brandComponentTheme,\n  textAlign = 'center',\n}: BrandFilmstripProps) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div className=\"brand-wa:py-16 brand-wa:xl:py-20 py-8 xl:py-12\">\n      <div\n        className={cx('container', {\n          'text-start': textAlign === 'left',\n          'text-center': textAlign === 'center',\n          'text-end': textAlign === 'right',\n        })}\n        data-testid=\"filmstrip\"\n      >\n        {headline ? (\n          <HeadingLevel\n            headingLevelFallback={2}\n            className={cx('heading-2xl xl:heading-4xl pb-2 xl:pb-4', {\n              '!text-text-inverse': isDark,\n              '!filmstrip-headline-text-light': isLight,\n            })}\n          >\n            {headline}\n          </HeadingLevel>\n        ) : null}\n        {description ? (\n          <p\n            className={cx('text-text pb-4 text-base font-normal md:text-lg xl:pb-8 xl:text-xl', {\n              'text-text-inverse': isDark,\n              '!filmstrip-description-text-light': isLight,\n            })}\n          >\n            {description}\n          </p>\n        ) : null}\n      </div>\n      <Filmstrip images={images} headline={headline} />\n      <div className={cx('container overflow-hidden px-4 text-center sm:px-10')}>\n        {link ? (\n          <BrandLink\n            url={link.url}\n            label={link.label}\n            isNewWindow={link.isNewWindow}\n            showNewWindowIcon={link.isNewWindow}\n            brandComponentTheme={brandComponentTheme}\n            data-conductrics-goal={link.experimentationConfiguration?.goal}\n            data-conductrics-value={link.experimentationConfiguration?.value}\n            variant=\"solid\"\n          />\n        ) : null}\n      </div>\n    </div>\n  );\n};\n","import { createCpmComponentDefinition, type StructuredAsset } from '@dx-ui/cpm-sdk';\nimport { BrandFilmstrip } from './BrandFilmstrip';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\ntype ImageObjectTypes = {\n  aspectRatios: {\n    [key: string]: {\n      url: string;\n    };\n  };\n  altText?: string;\n  caption?: string;\n  captionLink?: string;\n  id?: string;\n};\n\nconst createImageObject = (image: ImageObjectTypes) => {\n  const imageObject = {\n    id: image?.aspectRatios['16x9']?.url ?? '',\n    desktopImageUrl: image?.aspectRatios['16x9']?.url ?? '',\n    mobileImageUrl: image?.aspectRatios['3x2']?.url ?? '',\n    altText: image?.altText ?? '',\n    captionData: image?.caption\n      ? {\n          caption: image?.caption,\n          captionLink: image?.captionLink ?? '',\n        }\n      : undefined,\n  };\n\n  return imageObject;\n};\n\nexport default createCpmComponentDefinition(\n  'Film Strip',\n\n  function mapComponentData({ data }) {\n    const images = data.cpmAssets;\n\n    if (!images) {\n      throw new Error(`${data.displayName || data.name} is missing an image`);\n    }\n\n    const filmStripImages = images\n      .filter((image): image is StructuredAsset => image !== undefined)\n      .map(createImageObject);\n\n    return {\n      id: data.id,\n      links: data.links,\n      images: filmStripImages,\n    };\n  },\n\n  function CpmFilmStrip({ items = [], listData, componentParams, mappedPage: { brandCode } }) {\n    const data = items[0];\n\n    if (!data || !data.images) {\n      return null;\n    }\n\n    const headline = listData?.headline ?? '';\n    const description = listData?.description ?? '';\n    const links = listData?.links ?? [];\n    const listLink = links.length ? links[0] : undefined;\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n          <BrandFilmstrip\n            images={data.images}\n            headline={headline}\n            description={description}\n            link={listLink}\n            textAlign={componentParams?.textAlign}\n            brandComponentTheme={componentParams?.theme}\n          />\n        </AnimateRevealItem>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { ANALYTICS_NO_VALUE, ImageClickID, ImageFunction, ImageType } from '@dx-ui/config-metrics';\nimport type { FullWidthMediaMetrics } from '../types/full-width-media-analytics';\n\nexport const FULL_WIDTH_MEDIA_POSITION = 1;\nexport const FULL_WIDTH_MEDIA_COUNT = 1;\n\nexport type GenerateFullWidthMediaMetricsParams = {\n  metrics?: Partial<FullWidthMediaMetrics>;\n  headline?: string;\n  itemTitle?: string;\n};\n\nexport const generateFullWidthMediaMetrics = ({\n  headline,\n  itemTitle,\n  metrics,\n}: GenerateFullWidthMediaMetricsParams): FullWidthMediaMetrics => {\n  const fullWidthMediaMetrics = {\n    click: {\n      ...metrics?.click,\n      clickID: ImageClickID.Img,\n    },\n    osc: {\n      ...metrics?.osc,\n      image: {\n        ...metrics?.osc?.image,\n        headline: metrics?.osc?.image?.headline || headline || ANALYTICS_NO_VALUE,\n        itemTitle: itemTitle || ANALYTICS_NO_VALUE,\n        position: FULL_WIDTH_MEDIA_POSITION,\n        count: FULL_WIDTH_MEDIA_COUNT,\n        type: ImageType.Full,\n        function: ImageFunction.Link,\n      },\n    },\n  };\n  return fullWidthMediaMetrics;\n};\n\nexport const generatePartialFullWidthMediaMetrics = (\n  headline: string | null | undefined\n): Partial<FullWidthMediaMetrics> => {\n  return {\n    click: {\n      clickID: ImageClickID.Img,\n    },\n    osc: {\n      image: {\n        headline: headline || ANALYTICS_NO_VALUE,\n        type: ImageType.Full,\n        function: ImageFunction.Link,\n      },\n    },\n  };\n};\n","import Image from 'next/image';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport { Caption } from '@dx-ui/osc-caption';\nimport cx from 'classnames';\nimport { useRef } from 'react';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandTextHeader } from '@dx-ui/osc-brand-text-header';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport { ANALYTICS_GLOBAL_CLICK_EVENT, trackEvent } from '@dx-ui/config-metrics';\nimport { generateFullWidthMediaMetrics } from './utils/full-width-media-analytics';\nimport type { FullWidthMediaMetrics } from './types/full-width-media-analytics';\nimport type { VideoPlayer } from '@dx-ui/osc-video-player';\nimport {\n  Video,\n  VideoCaptions,\n  VideoControls,\n  useVideoPlayerClasses,\n  useVideoPlayer,\n  VideoPlayerMarkup,\n} from '@dx-ui/osc-video-player';\n\nexport type FullWidthMediaProps = {\n  image: {\n    altText: string;\n    mobileImageUrl: string;\n    desktopImageUrl: string;\n  };\n  captionData?: CaptionProps;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  imageWrapperClass?: string;\n  children: React.ReactNode;\n  alignment: 'left' | 'center' | 'right';\n  metrics?: Partial<FullWidthMediaMetrics>;\n  media?: React.ComponentProps<typeof VideoPlayer>;\n};\n\nexport type FullWidthMediaContentProps = Pick<FullWidthMediaProps, 'alignment'> & {\n  longDescription: string;\n  headline: string;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  link?: {\n    label: string;\n    url: string;\n    adaDescription?: string;\n    isNewWindow?: boolean;\n    experimentationConfiguration?: CmsExperimentationConfiguration;\n  };\n};\n\nexport function FullWidthMediaContentBlock({\n  alignment = 'center',\n  longDescription,\n  headline,\n  brandComponentTheme,\n  link,\n}: FullWidthMediaContentProps) {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const isCentered = alignment === 'center';\n\n  return (\n    <div\n      className={cx('flex w-full items-center lg:min-h-full', {\n        'justify-end': alignment === 'right',\n      })}\n    >\n      <div\n        className={cx('relative w-full max-w-screen-lg lg:w-1/2 xl:w-[45%]', {\n          'lg:start-1/2 lg:-translate-x-1/2 rtl:lg:translate-x-1/2': isCentered,\n        })}\n      >\n        <div\n          className={cx('px-16 py-8', {\n            'bg-bg': !isDark && !isLight,\n            'bg-bg-dark': isDark,\n            'bg-bg-light': isLight,\n          })}\n        >\n          {headline ? (\n            <BrandTextHeader\n              className={cx('text-center lg:mb-4 ', {\n                'text-center': isCentered,\n                'lg:text-start': !isCentered,\n                '!text-text-inverse': isDark,\n                'brand-ht:text-text-inverse': isLight,\n              })}\n            >\n              {headline}\n            </BrandTextHeader>\n          ) : null}\n          {longDescription ? (\n            <BrandTextBody\n              brandComponentTheme={brandComponentTheme}\n              className={cx('text-center ', {\n                'text-center': !isCentered,\n                'lg:text-start': !isCentered,\n                'text-text-inverse': isDark,\n                'brand-ht:text-text-inverse': isLight,\n              })}\n            >\n              {longDescription}\n            </BrandTextBody>\n          ) : null}\n          {link?.label && link?.url ? (\n            <div\n              className={cx('mt-4 flex w-full justify-center', {\n                'lg:justify-center': isCentered,\n                'lg:justify-normal': !isCentered,\n              })}\n            >\n              <BrandLink\n                url={link.url}\n                label={link.label}\n                isNewWindow={link.isNewWindow}\n                showNewWindowIcon={link.isNewWindow}\n                brandComponentTheme={brandComponentTheme}\n                data-conductrics-goal={link.experimentationConfiguration?.goal}\n                data-conductrics-value={link.experimentationConfiguration?.value}\n                metricsOnClick={() =>\n                  trackEvent(\n                    ANALYTICS_GLOBAL_CLICK_EVENT,\n                    generateFullWidthMediaMetrics({\n                      headline,\n                      itemTitle: link.label,\n                    })\n                  )\n                }\n              />\n            </div>\n          ) : null}\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport function FullWidthMedia({\n  image,\n  captionData,\n  children,\n  imageWrapperClass,\n  alignment,\n  metrics,\n  media,\n  brandComponentTheme,\n}: FullWidthMediaProps) {\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const playerClassNames = useVideoPlayerClasses({});\n  const isCinemagraph = media ? !!media.altText : false;\n  const hasAudio = !media?.altText && !media?.isMuted;\n  const videoUrl = media?.videoUrl || '';\n  const playerProps = useVideoPlayer({\n    ...media,\n    hasAudio,\n    videoUrl,\n    wrapperElement: ref,\n  });\n  const controlsAlignment =\n    alignment === 'left'\n      ? 'right'\n      : alignment === 'right'\n      ? 'left'\n      : alignment === 'center'\n      ? 'center'\n      : 'default';\n\n  return (\n    <div className=\"relative md:aspect-[16/9]\">\n      {media && playerProps ? (\n        <>\n          {media?.markupSchemas ? <VideoPlayerMarkup markupSchemas={media?.markupSchemas} /> : null}\n          <div\n            className={cx(\n              'relative mb-4 aspect-square size-full md:aspect-[16/9] lg:absolute lg:mb-0',\n              imageWrapperClass\n            )}\n          >\n            <Video\n              {...playerProps.videoProps}\n              captionData={media?.captionData}\n              isAutoPlay={media?.isAutoPlay}\n              posterImageUrl={media?.posterImageUrl}\n              videoId={media?.videoId}\n              videoUrl={media?.videoUrl}\n              role={isCinemagraph ? 'img' : undefined}\n              aria-label={isCinemagraph ? media?.altText : undefined}\n              className=\"h-full\"\n              figureClassName=\"h-full\"\n              videoClassName=\"h-full object-cover\"\n            />\n            <VideoCaptions\n              {...playerProps.videoCaptionProps}\n              brandComponentTheme={brandComponentTheme}\n              className={playerClassNames.captionClassNames}\n            />\n            <VideoControls\n              videoVariant={isCinemagraph ? 'cinemagraph' : undefined}\n              {...playerProps.videoControlsProps}\n              brandComponentTheme={brandComponentTheme}\n              className={cx(playerClassNames.controlsClassNames[controlsAlignment])}\n            />\n          </div>\n        </>\n      ) : null}\n      {!media && (\n        <div\n          className={cx(\n            'relative -z-10 aspect-square md:aspect-[16/9] md:w-full lg:absolute lg:aspect-auto lg:size-full',\n            imageWrapperClass\n          )}\n        >\n          <Image\n            className=\"hidden object-cover lg:block\"\n            unoptimized={true}\n            src={image.desktopImageUrl}\n            alt={image?.altText || ''}\n            fill\n          />\n          <Image\n            className=\"block object-cover lg:hidden\"\n            unoptimized={true}\n            src={image.mobileImageUrl}\n            alt={image?.altText || ''}\n            fill\n          />\n        </div>\n      )}\n      {children}\n      {captionData && (\n        <Caption\n          align={alignment === 'right' ? 'start' : 'end'}\n          caption={captionData?.caption}\n          captionLink={captionData?.captionLink}\n          metricsOnClick={() =>\n            trackEvent(\n              ANALYTICS_GLOBAL_CLICK_EVENT,\n              generateFullWidthMediaMetrics({\n                metrics,\n                itemTitle: captionData?.caption,\n              })\n            )\n          }\n        />\n      )}\n    </div>\n  );\n}\n\nexport default FullWidthMedia;\n","import { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\n\nexport type HexVariant =\n  | 'hxHexagonBlue'\n  | 'hxHexagonDarkBlue'\n  | 'hxHexagonDarkOrange'\n  | 'hxHexagonDarkPurple'\n  | 'hxHexagonDarkRed'\n  | 'hxHexagonRed';\nconst getHamptonHexColor = (variant: HexVariant) => {\n  if (variant === 'hxHexagonBlue') return '0047B5';\n  if (variant === 'hxHexagonDarkBlue') return '002666';\n  if (variant === 'hxHexagonDarkOrange') return 'C55426';\n  if (variant === 'hxHexagonDarkPurple') return '6F79BD';\n  if (variant === 'hxHexagonDarkRed') return '801F40';\n  if (variant === 'hxHexagonRed') return 'CF3242';\n};\n\ntype HamptonHexBlockProps = {\n  headline: string;\n  variant: HexVariant;\n  link?: {\n    label: string;\n    url: string;\n    adaDescription?: string;\n    isNewWindow?: boolean;\n    experimentationConfiguration?: CmsExperimentationConfiguration;\n  };\n  metricsOnClick?: () => void;\n};\n\nexport const HamptonHexBlock = ({\n  headline,\n  variant,\n  link,\n  metricsOnClick,\n}: HamptonHexBlockProps) => {\n  return (\n    <div className=\"relative start-0 top-0 flex min-h-full w-full items-center justify-center\">\n      <div className=\"flex size-full flex-col flex-wrap items-center justify-center gap-12\">\n        <article className=\"font-headline text-text-inverse relative inline-flex w-full font-bold uppercase md:my-16 md:w-auto\">\n          <div\n            className=\"absolute inset-y-0 start-1/2 z-[-1] hidden aspect-[640/400] -translate-x-1/2 bg-auto bg-center bg-no-repeat md:block\"\n            style={{\n              backgroundImage: `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 640 400\"><path fill=\"%23${getHamptonHexColor(\n                variant\n              )}\" d=\"M320 400c-10 0-19-1-29-4L34 323c-20-5-34-23-34-43V120c0-20 14-38 34-43L291 4a106 106 0 0 1 58 0l257 73c20 5 34 23 34 43v160c0 20-14 38-34 43l-257 73c-10 3-19 4-29 4\" /></svg>')`,\n            }}\n          />\n          <div\n            style={{ backgroundColor: `#${getHamptonHexColor(variant)}` }}\n            className=\"bg-bg-dark flex min-h-[2.4em] w-full flex-col content-center items-center hyphens-auto text-balance break-words py-6 text-center text-4xl md:mx-4 md:w-auto md:max-w-[20ch] md:!bg-transparent md:pb-[calc((100%*(72/400)))] md:pt-[calc((100%*(72/400))+0.1em)] md:text-5xl lg:text-7xl\"\n          >\n            <HeadingLevel headingLevelFallback={2} className=\"w-full px-12 py-4 text-center\">\n              {headline}\n            </HeadingLevel>\n            {link?.label && link?.url ? (\n              <>\n                <BrandLink\n                  anchorClassName=\"md:hidden\"\n                  brandComponentTheme=\"dark\"\n                  url={link.url}\n                  label={link.label}\n                  isNewWindow={link.isNewWindow}\n                  showNewWindowIcon={link.isNewWindow}\n                  data-conductrics-goal={link.experimentationConfiguration?.goal}\n                  data-conductrics-value={link.experimentationConfiguration?.value}\n                  metricsOnClick={metricsOnClick}\n                />\n                <BrandLink\n                  anchorClassName=\"hidden md:block absolute -bottom-16\"\n                  url={link.url}\n                  label={link.label}\n                  isNewWindow={link.isNewWindow}\n                  showNewWindowIcon={link.isNewWindow}\n                  data-conductrics-goal={link.experimentationConfiguration?.goal}\n                  data-conductrics-value={link.experimentationConfiguration?.value}\n                  metricsOnClick={metricsOnClick}\n                />\n              </>\n            ) : null}\n          </div>\n        </article>\n      </div>\n    </div>\n  );\n};\n","export * from './full-width-media';\nexport * from './hampton-hex-block';\nexport * from './types/full-width-media-analytics';\nexport * from './utils/full-width-media-analytics';\n","export * from './lib';\n","import { ANALYTICS_GLOBAL_CLICK_EVENT, trackEvent } from '@dx-ui/config-metrics';\nimport { type CpmMappedComponentData, type CpmMappingFunctionInput } from '@dx-ui/cpm-sdk';\nimport type { HexVariant } from '@dx-ui/libs/osc-full-width-media';\nimport {\n  FullWidthMedia,\n  FullWidthMediaContentBlock,\n  HamptonHexBlock,\n  generateFullWidthMediaMetrics,\n  generatePartialFullWidthMediaMetrics,\n} from '@dx-ui/libs/osc-full-width-media';\nimport { mapMultimediaListToVideoProps } from '@dx-ui/osc-video-player';\n\nexport function mapData({\n  data,\n  mappedPage,\n}: CpmMappingFunctionInput<'Full-Width Media and Copy Overlay' | 'Full-Width Media and Copy'>) {\n  const asset = data.cpmAssets[0];\n  const multimedia = data.multimedia;\n  let captionData, media;\n\n  if (multimedia?.length) {\n    media = multimedia?.length\n      ? mapMultimediaListToVideoProps({ multimedia, mappedPage })\n      : undefined;\n\n    const { captionLink } = multimedia[0] ?? {};\n    if (captionLink?.linkLabel && captionLink?.linkUrl) {\n      captionData = {\n        caption: captionLink.linkLabel,\n        captionLink: captionLink.linkUrl,\n      };\n    }\n  } else if (asset) {\n    captionData = {\n      caption: asset.caption,\n      captionLink: asset.captionLink,\n    };\n  }\n\n  return {\n    $ref: data.ref?.$ref,\n    id: data.id,\n    description: data.shortDescription,\n    title: data.headline,\n    link: data.link ?? undefined,\n    desktopImageUrl: asset?.aspectRatios['16x9']?.url ?? '',\n    mobileImageUrl: asset?.aspectRatios['1x1']?.url ?? '',\n    media,\n    captionData,\n    imageAltText: asset?.altText ?? '',\n    segmentIds: data.segmentIds,\n    experimentationConfiguration: data.experimentationConfiguration,\n    links: data.links,\n  };\n}\n\nexport function FullWidthMediaAndCopyOverlay({\n  items = [],\n  componentParams,\n  mappedPage,\n}: CpmMappedComponentData<\n  'Full-Width Media and Copy Overlay' | 'Full-Width Media and Copy',\n  ReturnType<typeof mapData>\n>) {\n  const data = items[0];\n\n  if (!data) {\n    return null;\n  }\n\n  const shouldDisplayStandardContent =\n    !componentParams.display ||\n    componentParams.display === 'mediaWithCopy' ||\n    componentParams.display === 'static' ||\n    componentParams.display === '';\n  const shouldDisplayHamptonHex =\n    [\n      'hxHexagonBlue',\n      'hxHexagonDarkBlue',\n      'hxHexagonDarkOrange',\n      'hxHexagonDarkPurple',\n      'hxHexagonDarkRed',\n      'hxHexagonRed',\n    ].includes(componentParams.display) && mappedPage.brandCode === 'HP';\n\n  return (\n    <FullWidthMedia\n      alignment={componentParams.textAlign}\n      imageWrapperClass={shouldDisplayHamptonHex ? 'md:absolute md:size-full' : ''}\n      image={{\n        altText: data.imageAltText,\n        mobileImageUrl: data.mobileImageUrl,\n        desktopImageUrl: data.desktopImageUrl,\n      }}\n      captionData={data.captionData}\n      metrics={generatePartialFullWidthMediaMetrics(data.title)}\n      media={data?.media}\n      brandComponentTheme={componentParams.theme}\n    >\n      {shouldDisplayStandardContent ? (\n        <FullWidthMediaContentBlock\n          link={data.link}\n          headline={data.title}\n          alignment={componentParams.textAlign}\n          longDescription={data.description}\n          brandComponentTheme={componentParams.theme}\n        />\n      ) : null}\n      {shouldDisplayHamptonHex ? (\n        <HamptonHexBlock\n          link={data.link}\n          variant={componentParams.display as HexVariant}\n          headline={data.title}\n          metricsOnClick={() =>\n            trackEvent(\n              ANALYTICS_GLOBAL_CLICK_EVENT,\n              generateFullWidthMediaMetrics({\n                headline: data.title,\n                itemTitle: data.link?.label,\n              })\n            )\n          }\n        />\n      ) : null}\n    </FullWidthMedia>\n  );\n}\n","import { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\n\nimport {\n  mapData,\n  FullWidthMediaAndCopyOverlay,\n} from '../../components/brand/full-width-media-copy-overlay/definition';\n\nexport default createCpmComponentDefinition(\n  'Full-Width Media and Copy',\n  mapData,\n  FullWidthMediaAndCopyOverlay\n);\n","export { default } from './cpm-component-definition';\n","import { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\n\nimport {\n  mapData,\n  FullWidthMediaAndCopyOverlay,\n} from '../../components/brand/full-width-media-copy-overlay/definition';\n\nexport default createCpmComponentDefinition(\n  'Full-Width Media and Copy Overlay',\n  mapData,\n  FullWidthMediaAndCopyOverlay\n);\n","export { default } from './cpm-component-definition';\n","import { useRect } from '@dx-ui/utilities-use-rect';\nimport { useRef } from 'react';\nimport type { AspectRatio } from '@dx-ui/osc-responsive-image';\nimport { ResponsiveImage } from '@dx-ui/osc-responsive-image';\nimport type { OffsetImage } from './offset';\nimport cx from 'classnames';\n\ntype ImageProps = OffsetImage & {\n  aspectRatio: AspectRatio;\n  className?: string;\n  onClick?: () => void;\n};\nexport const Image = ({ src, alt, captionData, aspectRatio, className, onClick }: ImageProps) => {\n  const ref = useRef<React.ElementRef<'div'>>(null);\n  const rect = useRect({ ref });\n\n  return src && alt ? (\n    <div ref={ref}>\n      <ResponsiveImage\n        altText={alt}\n        imageUrl={src}\n        aspectRatio={aspectRatio}\n        width={rect?.width ?? 0}\n        captionData={captionData}\n        className={cx('image-corner-radius', className)}\n        onClick={onClick}\n      />\n    </div>\n  ) : null;\n};\n","import type { ImageFunction } from '@dx-ui/config-metrics';\nimport { ANALYTICS_NO_VALUE, ImageClickID, ImageType } from '@dx-ui/config-metrics';\nimport type { OffsetMetrics } from '../types/offset-analytics';\n\nexport const DEFAULT_OFFSET_IMAGE_POSITION = 1;\nexport const OFFSET_IMAGE_COUNT = 2;\n\ntype GenerateOffsetMetricsParam = {\n  headline?: string;\n  itemTitle?: string;\n  position?: number;\n  imageFunction?: (typeof ImageFunction)['Link'];\n};\n\nexport const generateOffsetMetrics = ({\n  headline,\n  itemTitle,\n  position,\n  imageFunction,\n}: GenerateOffsetMetricsParam): OffsetMetrics => {\n  const offsetMetrics = {\n    click: {\n      clickID: ImageClickID.Img,\n    },\n    osc: {\n      image: {\n        // pass in innerText from headline\n        //itemTitle: pass in alt from image.small OR image.large\n        headline: headline || ANALYTICS_NO_VALUE,\n        itemTitle: itemTitle || ANALYTICS_NO_VALUE,\n        type: ImageType.Offset,\n        function: imageFunction,\n        count: OFFSET_IMAGE_COUNT,\n        position,\n      },\n    },\n  } as const;\n\n  return offsetMetrics;\n};\n","import type { ReactElement, ReactNode } from 'react';\n\ntype ReactNodeWithChildren = ReactElement<{ children: ReactNode }>;\n\n/**\n * Type for `getReactNodeInnerText`\n * - Accepts any `ReactNode`\n * - Returns a `string`\n */\ntype ReactNodeInnerText = {\n  (jsx: ReactNode): string;\n  default: ReactNodeInnerText;\n};\n\nconst hasProps = (jsx: ReactNode): jsx is ReactNodeWithChildren =>\n  jsx !== null &&\n  typeof jsx === 'object' &&\n  Object.prototype.hasOwnProperty.call(jsx, 'props') &&\n  'children' in (jsx as ReactElement).props;\n\nconst reduceJsxToString = (previous: string, current: ReactNode): string =>\n  previous + getReactNodeInnerText(current);\n\nexport const getReactNodeInnerText: ReactNodeInnerText = (jsx: ReactNode): string => {\n  // Empty\n  if (jsx === null || typeof jsx === 'boolean' || typeof jsx === 'undefined') {\n    return '';\n  }\n\n  // Numeric children\n  if (typeof jsx === 'number') {\n    return jsx.toString();\n  }\n\n  // String literals\n  if (typeof jsx === 'string') {\n    return jsx;\n  }\n\n  // Array of JSX\n  if (Array.isArray(jsx)) {\n    return jsx.reduce<string>(reduceJsxToString, '');\n  }\n\n  // React elements with children\n  if (hasProps(jsx)) {\n    return getReactNodeInnerText(jsx.props.children);\n  }\n\n  // Default\n  return '';\n};\n\ngetReactNodeInnerText.default = getReactNodeInnerText;\n","export * from './get-react-node-inner-text';\n","export * from './lib';\n","import { Image } from './utils';\nimport type { CaptionProps } from '@dx-ui/osc-caption';\nimport type { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { ANALYTICS_GLOBAL_CLICK_EVENT, ImageFunction, trackEvent } from '@dx-ui/config-metrics';\nimport { generateOffsetMetrics } from './utils/offset-analytics';\nimport { getReactNodeInnerText } from '@dx-ui/utilities-get-react-node-inner-text';\n\nconst OFFSET_LARGE_IMAGE_POSITION = 1;\nconst OFFSET_SMALL_IMAGE_POSITION = 2;\n\nexport type OffsetImage = { alt: string; src: string; captionData?: CaptionProps };\n\nexport interface TOffset {\n  image: { small: OffsetImage; large: OffsetImage };\n  headline: ReactNode;\n  /**\n   * Content and images are displayed in the reverse order\n   */\n  isInversePattern?: boolean;\n  /** Add Tailwind classes to root element */\n  className?: string;\n}\n\nexport const Offset: React.FC<React.PropsWithChildren<TOffset>> = ({\n  image,\n  headline,\n  children,\n  isInversePattern = false,\n  className = '',\n}) => {\n  const innerString = getReactNodeInnerText(headline);\n  const handleOffsetMetric = (image: OffsetImage, position: number) =>\n    trackEvent(\n      ANALYTICS_GLOBAL_CLICK_EVENT,\n      generateOffsetMetrics({\n        headline: innerString,\n        itemTitle: image.alt,\n        imageFunction: ImageFunction.Link,\n        position,\n      })\n    );\n  return (\n    <div\n      className={cx('relative', {\n        [className]: !!className,\n      })}\n    >\n      <div\n        className={cx('grid gap-8 md:grid-rows-3 md:gap-6 lg:gap-8', {\n          'md:grid-cols-[2fr_1fr]': isInversePattern,\n          'md:grid-cols-[1fr_2fr]': !isInversePattern,\n        })}\n      >\n        <div\n          className={cx('self-end md:translate-y-20 lg:translate-y-14 xl:translate-y-0', {\n            'md:order-2': isInversePattern,\n          })}\n        >\n          {headline}\n        </div>\n        <div\n          className={cx('md:row-span-2 md:self-end', {\n            'md:order-1': isInversePattern,\n          })}\n        >\n          {image?.large ? (\n            <Image\n              {...image.large}\n              aspectRatio=\"4:2\"\n              onClick={() => handleOffsetMetric(image.large, OFFSET_LARGE_IMAGE_POSITION)}\n            />\n          ) : null}{' '}\n        </div>\n        <div\n          className={cx('self-center md:row-span-2', {\n            'md:order-3': isInversePattern,\n          })}\n        >\n          {image?.small ? (\n            <Image\n              {...image.small}\n              aspectRatio=\"4:2\"\n              onClick={() => handleOffsetMetric(image.small, OFFSET_SMALL_IMAGE_POSITION)}\n            />\n          ) : null}{' '}\n        </div>\n        <div className={cx({ 'md:order-4': isInversePattern })}>{children}</div>\n      </div>\n    </div>\n  );\n};\n\nexport default Offset;\n","export * from './lib/offset';\nexport * from './lib/utils/offset-analytics';\nexport * from './lib/types/offset-analytics';\n","import type { OscDomLink } from '@dx-ui/cpm-sdk';\nimport { Offset, generateOffsetMetrics, DEFAULT_OFFSET_IMAGE_POSITION } from '@dx-ui/osc-offset';\nimport type { TOffset } from '@dx-ui/osc-offset';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport { BrandLink } from '@dx-ui/osc-brand-buttons';\nimport cx from 'classnames';\nimport { HeadingLevel } from '@dx-ui/osc-heading-level';\nimport { ANALYTICS_GLOBAL_CLICK_EVENT, ImageFunction, trackEvent } from '@dx-ui/config-metrics';\nimport { getReactNodeInnerText } from '@dx-ui/utilities-get-react-node-inner-text';\nexport interface BrandOffsetProps extends TOffset {\n  shortDescription?: string;\n  brandComponentTheme?: CmsBrandComponentTheme;\n  link?: OscDomLink;\n}\n\n/**\n * Brand Offset utilizes the OSC-Offset and adds a stylized headline, short description, and link.\n */\nexport const BrandOffset = ({\n  image,\n  headline,\n  isInversePattern = false,\n  link,\n  shortDescription,\n  brandComponentTheme,\n}: BrandOffsetProps) => {\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n  const headlineString = getReactNodeInnerText(headline);\n\n  return (\n    <div className=\"brand-wa:py-16 brand-wa:xl:py-20 container py-8 xl:py-12\">\n      <Offset\n        image={image}\n        headline={\n          headline && (\n            <HeadingLevel\n              headingLevelFallback={2}\n              className={cx(\n                'heading-2xl brand-es:lg:heading-4xl brand-ey:heading-3xl brand-gu:lg:heading-4xl brand-hi-refresh:lg:heading-4xl brand-nd:sm:heading-4xl brand-wa:font-serif brand-wa:normal-case brand-lx:font-serif',\n                {\n                  '!text-text-inverse': isDark,\n                  'brand-ht:!text-text-inverse': isLight,\n                }\n              )}\n            >\n              {headline}\n            </HeadingLevel>\n          )\n        }\n        isInversePattern={isInversePattern}\n      >\n        {shortDescription && (\n          <BrandTextBody\n            className={cx('text-text brand-wa:font-serif mb-3 py-2 text-sm md:text-base', {\n              'text-text-inverse': isDark,\n              'brand-ht:!text-text-inverse': isLight,\n              'brand-ou:text-primary': !isDark,\n            })}\n            brandComponentTheme={brandComponentTheme}\n          >\n            {shortDescription}\n          </BrandTextBody>\n        )}\n        {link?.url && (\n          <BrandLink\n            url={link?.url}\n            label={link?.label}\n            isNewWindow={link?.isNewWindow}\n            showNewWindowIcon={link?.isNewWindow}\n            brandComponentTheme={brandComponentTheme}\n            data-conductrics-goal={link.experimentationConfiguration?.goal}\n            data-conductrics-value={link.experimentationConfiguration?.value}\n            metricsOnClick={() =>\n              trackEvent(\n                ANALYTICS_GLOBAL_CLICK_EVENT,\n                generateOffsetMetrics({\n                  headline: headlineString,\n                  itemTitle: link.label,\n                  imageFunction: ImageFunction.Link,\n                  position: DEFAULT_OFFSET_IMAGE_POSITION,\n                })\n              )\n            }\n          />\n        )}\n      </Offset>\n    </div>\n  );\n};\n\nexport default BrandOffset;\n","import { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\n\nimport BrandOffset from './BrandOffset';\nimport { AnimateRevealItem } from '@dx-ui/osc-animate-reveal-item';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\nexport default createCpmComponentDefinition(\n  'Offset Grid',\n\n  function mapComponentData({ data, componentParams }) {\n    const images = data.cpmAssets;\n\n    return {\n      id: data.id,\n      links: data.links,\n      headline: data?.headline ?? '',\n      shortDescription: data?.shortDescription ?? '',\n      isInversePattern: componentParams?.display === 'mirror' || false,\n      images: {\n        small: {\n          alt: images[0]?.altText ?? '',\n          src:\n            images[0]?.aspectRatios['2x1']?.url ??\n            images[0]?.aspectRatios['16x9']?.url ??\n            images[0]?.aspectRatios['3x2']?.url ??\n            '',\n          captionData: {\n            caption: images[0]?.caption ?? '',\n            captionLink: images[0]?.captionLink ?? '',\n          },\n        },\n        large: {\n          alt: images[1]?.altText ?? '',\n          src:\n            images[1]?.aspectRatios['2x1']?.url ??\n            images[1]?.aspectRatios['16x9']?.url ??\n            images[1]?.aspectRatios['3x2']?.url ??\n            '',\n          captionData: {\n            caption: images[1]?.caption ?? '',\n            captionLink: images[1]?.captionLink ?? '',\n          },\n        },\n      },\n      link: data.link?.url\n        ? {\n            _id: data.link?._id ?? '',\n            adaDescription: data.link?.adaDescription ?? '',\n            isNewWindow: data.link?.isNewWindow ?? false,\n            label: data.link?.label ?? '',\n            url: data.link?.url ?? '',\n            experimentationConfiguration: data.link.experimentationConfiguration,\n          }\n        : undefined,\n    };\n  },\n\n  function OffsetCpm({ items = [], componentParams, mappedPage: { brandCode } }) {\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration,\n        }}\n      >\n        <AnimateRevealItem delay={0} animationType=\"fade-in-up\" isAnimated={brandCode === 'GU'}>\n          <BrandOffset\n            image={data?.images}\n            headline={data?.headline}\n            isInversePattern={data?.isInversePattern}\n            shortDescription={data?.shortDescription}\n            link={data?.link}\n            brandComponentTheme={componentParams?.theme}\n          />\n        </AnimateRevealItem>\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import * as React from 'react';\nimport type { HeadingLevel as AccordionHeadingLevel } from '@dx-ui/osc-accordion';\nimport { Accordion as Details } from '@dx-ui/osc-accordion';\nimport { useTranslation } from 'next-i18next';\nimport { BrandTextBody } from '@dx-ui/osc-brand-text-body';\nimport cx from 'classnames';\nimport { HeadingLevel, useHeadingLevel } from '@dx-ui/osc-heading-level';\n\nexport type AccordionDetails = {\n  key: string;\n  collapsedButtonLabel: string;\n  expandedButtonLabel: string;\n  content: React.ReactNode;\n};\n\ntype AccordionProps = {\n  details: Array<AccordionDetails>;\n  headline?: string;\n  description?: string;\n  brandComponentTheme?: CmsBrandComponentTheme;\n};\n\nexport const Accordion = ({\n  details,\n  headline,\n  description,\n  brandComponentTheme,\n}: AccordionProps) => {\n  const [t] = useTranslation('cpm-mapping-shared');\n  const [, level] = useHeadingLevel();\n  let _accordionHeadingLevel: number | undefined = headline ? level + 1 : level;\n\n  if (_accordionHeadingLevel > 6) {\n    _accordionHeadingLevel = undefined;\n  }\n\n  const headingLevel = _accordionHeadingLevel\n    ? (`h${_accordionHeadingLevel}` as AccordionHeadingLevel)\n    : undefined;\n\n  const [expandedAccordions, setExpandedAccordions] = React.useState<Array<string>>([]);\n\n  const areAllExpanded = details.length === expandedAccordions.length;\n\n  const expandAll = () => {\n    setExpandedAccordions(\n      details.map((detail) => {\n        return detail.key;\n      })\n    );\n  };\n  const collapseAll = () => {\n    setExpandedAccordions([]);\n  };\n\n  const isDark = brandComponentTheme === 'dark';\n  const isLight = brandComponentTheme === 'light';\n\n  return (\n    <div className=\"container\">\n      {headline ? (\n        <HeadingLevel\n          headingLevelFallback={2}\n          className={cx('brand-hi:text-text heading-2xl lg:heading-2xl lg:mb-2', {\n            '!text-text-inverse': isDark,\n            'brand-ht:text-text-inverse': isLight,\n          })}\n        >\n          {headline}\n        </HeadingLevel>\n      ) : null}\n\n      {description ? (\n        <BrandTextBody\n          className={cx('mb-6', {\n            '!text-text-inverse': isDark,\n            'brand-ht:text-text-inverse': isLight,\n          })}\n        >\n          {description}\n        </BrandTextBody>\n      ) : null}\n      <button\n        onClick={areAllExpanded ? collapseAll : expandAll}\n        className={cx('btn btn-primary-link btn-xl mb-6', {\n          'text-text-inverse': isDark,\n          'brand-ht:text-text-inverse': isLight,\n        })}\n        type=\"button\"\n      >\n        {areAllExpanded ? t('collapseAll') : t('expandAll')}\n      </button>\n      <Details\n        className={cx('accordion-stacked border-border border-b', {\n          'text-text-inverse': isDark,\n          'brand-ou:border-primary brand-ht:text-text-inverse': isLight,\n        })}\n        items={details}\n        type=\"multiple\"\n        variant=\"stacked\"\n        onValueChange={(keys) => {\n          setExpandedAccordions(keys);\n        }}\n        value={expandedAccordions}\n        headingLevel={headingLevel}\n      />\n    </div>\n  );\n};\n\nexport default Accordion;\n","import { Markdown } from '@dx-ui/osc-markdown';\nimport { useRouter } from 'next/router';\nimport { Link } from '@dx-ui/osc-link';\nimport cx from 'classnames';\nimport type { BrandPageComponentThemeType } from '@dx-ui/gql-types';\nimport type { ReactNode } from 'react';\nimport type { ContentBlock } from 'dx-shared-schema/dist/types/couchbase/story';\nimport {\n  type OscDomLink,\n  type ExperimentationAgents,\n  shouldRenderExperiment,\n} from '@dx-ui/cpm-sdk';\n\nexport function ContentWrapper({\n  children,\n  theme,\n}: {\n  children: ReactNode;\n  theme: BrandPageComponentThemeType | undefined;\n}) {\n  const isDark = theme === 'dark';\n  const isLight = theme === 'light';\n\n  return (\n    <div\n      className={cx('border-border border-b p-6', {\n        'text-text-inverse': isDark,\n        'brand-ou:border-primary brand-ht:text-text-inverse': isLight,\n      })}\n    >\n      {children}\n    </div>\n  );\n}\n\nexport type ContentData = ContentBlock & {\n  key: string;\n  links?: OscDomLink[];\n};\n\nexport function Content({\n  content,\n  experimentationAgents,\n}: {\n  content: ContentData;\n  experimentationAgents: ExperimentationAgents;\n}) {\n  const { locale = 'en' } = useRouter();\n  const origin = typeof window !== 'undefined' ? window.location.origin : '';\n  const markdownProps = { language: locale, origin };\n\n  if ('description' in content) {\n    return <Markdown {...markdownProps}>{content.description!}</Markdown>;\n  }\n\n  if ('heading' in content) {\n    return (\n      <div className=\"mb-2 text-xl font-bold\">\n        <Markdown {...markdownProps}>{content.heading!}</Markdown>\n      </div>\n    );\n  }\n\n  if ('unorderedList' in content) {\n    return Array.isArray(content.unorderedList) ? (\n      <ul className=\"ms-7 list-disc\">\n        {content.unorderedList.map((listItem) => (\n          <li key={listItem}>\n            <Markdown {...markdownProps}>{listItem}</Markdown>\n          </li>\n        ))}\n      </ul>\n    ) : null;\n  }\n\n  if ('orderedList' in content) {\n    return Array.isArray(content.orderedList) ? (\n      <ol className=\"ms-7 list-decimal\">\n        {content.orderedList.map((listItem) => (\n          <li key={listItem}>\n            <Markdown {...markdownProps}>{listItem}</Markdown>\n          </li>\n        ))}\n      </ol>\n    ) : null;\n  }\n\n  if ('links' in content) {\n    return Array.isArray(content.links)\n      ? content.links\n          .filter((link) =>\n            shouldRenderExperiment(experimentationAgents, link.experimentationConfiguration)\n          )\n          .map((link) => (\n            <div key={link.url + link.label}>\n              <Link\n                url={link.url}\n                adaDescription={link.adaDescription}\n                isNewWindow={link.isNewWindow}\n                data-conductrics-goal={link.experimentationConfiguration?.goal}\n                data-conductrics-value={link.experimentationConfiguration?.value}\n              >\n                {link.label}\n              </Link>\n            </div>\n          ))\n      : null;\n  }\n\n  return null;\n}\n","import type { OscDomLink } from '@dx-ui/cpm-sdk';\nimport { createCpmComponentDefinition, removeNullyFromArray } from '@dx-ui/cpm-sdk';\nimport Accordion, { type AccordionDetails } from './Accordion';\nimport { Content, ContentWrapper, type ContentData } from './AccordionContent';\nimport type { ContentBlock } from 'dx-shared-schema/dist/types/couchbase/story';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\n\ninterface FaqItem {\n  question?: string;\n  answerParagraph?: string[];\n  answerOrderedList?: string[];\n  answerUnOrderedList?: string[];\n  links?: OscDomLink[];\n}\n\ninterface FaqBlock {\n  faq?: FaqItem[];\n}\n\ntype AccordionDetailsData = Omit<AccordionDetails, 'content'> & {\n  content: ContentData[];\n};\n\nfunction hash<T>(x: T): string {\n  let hash = 0;\n  const str = JSON.stringify(x);\n  for (let i = 0; i < str.length; i++) {\n    hash = (hash * 31 + str.charCodeAt(i)) >>> 0;\n  }\n  return hash.toString(16);\n}\n\nfunction remapFaqContentToDetails(faqContent: FaqBlock[]): AccordionDetailsData[] {\n  const faqBlocks = removeNullyFromArray(faqContent.flatMap((x) => x.faq));\n\n  return faqBlocks.map((faqItem): AccordionDetailsData => {\n    const content: ContentData[] = [];\n\n    if (Array.isArray(faqItem.answerParagraph) && faqItem.answerParagraph.length > 0) {\n      faqItem.answerParagraph.forEach((paragraph) => {\n        content.push({\n          description: paragraph,\n          key: hash(paragraph),\n        });\n      });\n    }\n\n    if (Array.isArray(faqItem.answerOrderedList) && faqItem.answerOrderedList.length > 0) {\n      content.push({\n        orderedList: faqItem.answerOrderedList,\n        key: hash(faqItem.answerOrderedList),\n      });\n    }\n\n    if (Array.isArray(faqItem.answerUnOrderedList) && faqItem.answerUnOrderedList.length > 0) {\n      content.push({\n        unorderedList: faqItem.answerUnOrderedList,\n        key: hash(faqItem.answerUnOrderedList),\n      });\n    }\n\n    if (Array.isArray(faqItem.links) && faqItem.links.length > 0) {\n      content.push({\n        links: faqItem.links,\n        key: hash(faqItem.links),\n      });\n    }\n\n    return {\n      key: hash(faqItem),\n      collapsedButtonLabel: faqItem.question ?? '',\n      expandedButtonLabel: faqItem.question ?? '',\n      content,\n    };\n  });\n}\n\nfunction keyContent(blockContent: ContentBlock[]): ContentData[] {\n  return blockContent.map((block) => ({\n    ...block,\n    key: hash(block),\n  }));\n}\n\nexport default createCpmComponentDefinition(\n  'Accordion',\n\n  function mapComponentData({ data }) {\n    return {\n      key: `acc${data.id}`,\n      links: data.links,\n      collapsedButtonLabel: data.headline || data.label || data.title || '',\n      expandedButtonLabel: data.headline || data.label || data.title || '',\n      content: keyContent(data.contentBlock ?? []),\n      faqContent:\n        data.contentType === 'dxcms:Faq' ? remapFaqContentToDetails(data.subTopic ?? []) : null,\n    };\n  },\n\n  function CpmAccordion({\n    items = [],\n    listData,\n    componentParams,\n    mappedPage: { brandCode },\n    experimentationAgents,\n  }) {\n    const firstItem = items[0];\n\n    if (!firstItem) {\n      return null;\n    }\n\n    const renderedItems: AccordionDetailsData[] =\n      (items[0]?.faqContent ? firstItem.faqContent : items) ?? [];\n\n    return (\n      <BrandComponentThemeInline\n        componentParams={componentParams}\n        brandCode={brandCode}\n        backgroundIllustration={{\n          isParallax: componentParams?.backgroundParallax,\n          variant: componentParams?.backgroundIllustration || 'none',\n        }}\n      >\n        <Accordion\n          headline={listData?.headline ?? undefined}\n          description={listData?.description ?? undefined}\n          brandComponentTheme={componentParams.theme}\n          details={renderedItems.map(({ content, ...data }) => ({\n            ...data,\n            content: (\n              <ContentWrapper theme={componentParams.theme}>\n                {content.map(\n                  (content) => (\n                    <Content\n                      key={content.key}\n                      content={content}\n                      experimentationAgents={experimentationAgents}\n                    />\n                  )\n                  // null\n                )}\n              </ContentWrapper>\n            ),\n          }))}\n        />\n      </BrandComponentThemeInline>\n    );\n  }\n);\n","export { default } from './cpm-component-definition';\n","import type { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype Height =\n  | `${number}px`\n  | `${number}%`\n  | `${number}em`\n  | `${number}rem`\n  | `${number}vh`\n  | `${number}vw`\n  | 'auto'\n  | 'fit-content'\n  | 'inherit'\n  | 'initial'\n  | 'unset';\n\nexport type SpacerProps = {\n  /* Add a class to the Spacer wrapper */\n  wrapperClassName?: string;\n  /* Add a fixed height to the spacer */\n  height?: Height;\n  /* Add a background image to the spacer, which can be position using styles like background position and background-repeat. */\n  backgroundImage?: string;\n  /* Style object to customise the spacer as required */\n  styles?: React.CSSProperties;\n  /* Child node allows the spacer to render a responsive image or any other markup */\n  children?: ReactNode;\n};\n\nexport const Spacer: React.FC<React.PropsWithChildren<SpacerProps>> = ({\n  wrapperClassName,\n  height,\n  backgroundImage,\n  styles,\n  children,\n}) => {\n  const defaultStyles: React.CSSProperties = {\n    backgroundPosition: 'top left',\n    backgroundRepeat: 'no-repeat',\n  };\n\n  return (\n    <div\n      className={cx('w-full', wrapperClassName)}\n      data-testid=\"spacer\"\n      style={{\n        height,\n        backgroundImage: backgroundImage ? `url(${backgroundImage})` : '',\n        ...defaultStyles,\n        ...styles,\n      }}\n    >\n      {children}\n    </div>\n  );\n};\n\nexport default Spacer;\n","export * from './spacer';\n","export * from './lib';\n","export const LivSmartAccent = () => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    viewBox=\"0 0 1440 48\"\n    width=\"100%\"\n    height=\"auto\"\n    data-testid=\"livsmart-accent\"\n    aria-hidden=\"true\"\n  >\n    <clipPath id=\"a\">\n      <path d=\"m0 0h1440v48h-1440z\" />\n    </clipPath>\n    <path d=\"m0 0h1440v48h-1440z\" fill=\"#4d583e\" />\n    <g clipPath=\"url(#a)\">\n      <path d=\"m-2.52-1.92h909.13v51.35h-909.13z\" fill=\"#4d583e\" />\n      <path d=\"m932.71-13.4h419.13v75.19h-419.13z\" fill=\"#4d583e\" />\n      <path d=\"m866.85 197h-6.05v-497.5h6.05z\" fill=\"#643f56\" />\n      <path d=\"m477.39-188.45h440.59v310.33h-440.59z\" fill=\"#e16435\" />\n      <path\n        d=\"m714.8 120.14h-21.92c-4.91 0-9.63-1.95-13.1-5.42l-1.66-1.66c-6.22-6.21-7.22-15.93-2.4-23.27l34.74-52.98c2.77-4.22 3.7-9.4 2.56-14.32l-35.3-153.51c-.53-2.32-.62-4.72-.24-7.07l.9-5.65c1.25-7.82 7.33-13.99 15.13-15.35l11.51-2c6.1-1.06 12.32 1 16.59 5.48l29.89 31.39c3.04 3.19 7.12 5.2 11.51 5.65l67.36 7.01c4.1.43 8.23-.53 11.73-2.71l29.35-18.32c2.06-1.29 3.85-2.97 5.27-4.95l15.46-21.64c5.96-8.35 17.57-10.26 25.9-4.27l.96.69c2.33 1.67 4.23 3.86 5.57 6.4l8.35 15.81c2.05 3.88 2.65 8.37 1.71 12.65l-29.36 132.85c-.74 3.34-.54 6.83.58 10.06l29.23 84.43c.68 1.95 1.02 4 1.02 6.06 0 11.27-9.97 19.93-21.13 18.35l-16.71-2.36c-.82-.12-1.64-.18-2.47-.18l-181.04-1.19z\"\n        fill=\"#643f56\"\n      />\n      <path\n        d=\"m917.98-188.45c14.14 0 25.61 11.46 25.61 25.61v449.95h-51.21v-449.95c0-14.14 11.46-25.61 25.61-25.61z\"\n        fill=\"#f59e4f\"\n      />\n      <path\n        d=\"m1439.72 45.31c-56.72 15.99-89.56 52.88-108.51 88.36 30.66-16.64 71.56-44.53 108.51-88.36z\"\n        fill=\"#643f56\"\n      />\n      <path\n        d=\"m1204.44 385.71c-4.47-90.58-15.69-185.03-28.7-274.93-5.79-39.28-12.02-78.5-18.61-117.65-.65-3.83-.1-7.76 1.5-11.3 10.67-23.64 18.86-46.95 24.92-69.85 0-.03 0-.06 0-.1-6.98-43.49-7.52-96.92 8.73-156.48.49-1.8 1.02-3.61 1.54-5.42-2.33-17.87-5.68-35.24-9.88-52-31.69-126.45-110.15-219.67-139.2-250.89-4.48-4.81-12.52-2.27-13.47 4.23-45.61 309.2 77.36 487.07 112.85 530.98 2.19 2.71 3.6 5.95 4.11 9.4 5.96 40.13 11.54 80.31 16.65 120.56 11.16 89.64 20.48 183.96 23.14 274.07l.69 54.85h17.53l-1.79-55.46z\"\n        fill=\"#e16435\"\n      />\n      <path\n        d=\"m1252.72-374.49c-28.94 43.34-47.58 85.18-58.91 124.46 6.56 50.36 4.81 104.82-10.27 161.9 2.18 13.59 4.99 26.22 8.11 37.74 7.26 26.78 16.21 47.66 22.89 61.2 2.16 4.37 3.05 9.23 2.56 14.08-6.74 67.06-12.5 134.21-17.46 201.32-6.8 94.65-11.46 189.36-14.04 284.28h37.78c-2.76-117.63-1.97-236.31 1.76-354.01 1.46-42.6 3.25-85.2 5.39-127.79.26-5.19 2.06-10.17 5.19-14.32 1.4-1.86 2.9-3.89 4.49-6.09 21.74-30.21 58.89-92.28 66.83-172.23 6.13-61.69-5.12-134-54.32-210.54z\"\n        fill=\"#643f56\"\n      />\n      <path\n        d=\"m1347.33-44.64c-30.65 49.29-46.7 102.65-55.01 141.76-3.1 14.6-5.12 27.19-6.42 36.85-.48 3.58-1.6 7.04-3.26 10.26 0 .02-.02.03-.03.05-42.43 82.86-70.03 174.62-76.18 267.84-.25 6.48-.97 22.35-1.22 29.15h21.88c.06-6.52.11-21.71.17-28.17.21-5.97 1.21-22.13 1.48-28.15 5.9-75.74 26.14-150.5 57.04-221.13 3.15-7.2 8.9-12.92 16.14-15.98 7.84-3.32 17.84-7.96 29.28-14.17 18.95-35.48 51.8-72.37 108.51-88.36 41.9-49.7 78.71-119.87 89.68-217.42-88.85 16.29-145.72 69-182.07 127.46z\"\n        fill=\"#f59e4f\"\n      />\n      <path\n        d=\"m1510.68 37.21c-27.06-.7-50.55 2.35-70.96 8.1-36.95 43.83-77.85 71.72-108.51 88.36-15.97 29.9-22.08 58.77-24.29 73.29-.49 3.24-1.79 6.28-3.74 8.91-18.9 25.39-35.19 52.71-48.34 81.49-24.78 54.63-37.14 114.42-38.26 174.38h15.6c-.5-38.73 3.75-77.55 13.19-115.23 11.93-46.46 32.14-90.46 58.76-130.29 3.61-5.4 9.6-8.7 16.1-8.88 35.61-.95 129.35-18.9 195.91-171.51 1.74-4-1.11-8.5-5.46-8.61z\"\n        fill=\"#e16435\"\n      />\n      <g fill=\"#f59e4f\">\n        <path d=\"m1207.57 441.27c-2.02-91.43-31.77-190.86-73.91-286.52-1.72-3.9-2.49-8.13-2.22-12.39 3.08-48.07-.09-226.23-198.64-346.63-1.88-1.14-4.31.32-4.18 2.51 12.59 218.75 146.95 321.86 189.06 348.97 4.58 2.95 8.18 7.19 10.26 12.22 39.09 94.76 65.96 192.67 66.03 281.85h13.59z\" />\n        <path d=\"m489.87-200.93c-14.14 0-25.61 11.46-25.61 25.61v225.94h18.28c6.59 0 11.93 5.34 11.93 11.93v17.71c0 6.59-5.34 11.93-11.93 11.93h-18.28v182.43h51.21v-449.94c0-14.14-11.47-25.61-25.61-25.61z\" />\n        <path d=\"m150.88-14.73c-14.77-8.37-33.17-6.98-46.51 3.62-7.38 5.86-16.53 9.06-25.96 9.06h-4.88c-13.51 0-26.18 6.54-34 17.55l-24.98 35.12h99.49l34.35-61.52c.75-1.34 1.59-2.62 2.49-3.84z\" />\n      </g>\n      <path d=\"m439.64 47c-12.78-15.15-31.13-24.25-50.64-25.47v29.1h53.7z\" fill=\"#90add2\" />\n      <path\n        d=\"m158.92-9.99c3.62 2.15 7.54 3.75 11.63 4.73l78.96 18.88c2.07.49 4.07 1.16 6 1.95 14.13-3.04 29.12-1.85 42.96 3.92 10.34 4.31 21.55 6.15 32.72 5.38l48.31-3.33c3.18-.22 6.35-.21 9.49 0v-9.35c0-20.14-16.33-36.47-36.47-36.47h-11.58c-12.06 0-23.34-5.96-30.13-15.93l-13.21-19.38c-8.94-13.13-25.36-18.95-40.57-14.4l-13.74 4.11c-9.89 2.96-18.06 9.97-22.49 19.29-5.9 12.41-18.27 20.45-32 20.81l-9.51.25c-11.34.29-21.79 5.84-28.41 14.84.26.15.53.27.79.43l7.25 4.32z\"\n        fill=\"#643f56\"\n      />\n      <path\n        d=\"m255.52 15.56c-1.93-.79-3.93-1.45-6-1.95l-78.96-18.87c-4.1-.98-8.02-2.57-11.63-4.73l-7.25-4.32c-.26-.15-.53-.28-.79-.43-.9 1.22-1.74 2.5-2.49 3.84l-34.35 61.52h86.62l23.74-19.87c9.15-7.66 19.86-12.77 31.11-15.19z\"\n        fill=\"#90add2\"\n      />\n      <path\n        d=\"m379.51 21.53-48.31 3.33c-11.18.77-22.38-1.07-32.72-5.38-13.84-5.77-28.83-6.96-42.96-3.92 11.2 4.55 19.99 13.78 23.88 25.44l3.2 9.62h106.4v-29.1c-3.14-.2-6.31-.21-9.49 0z\"\n        fill=\"#f59e4f\"\n      />\n      <path\n        d=\"m255.52 15.56c-11.25 2.42-21.96 7.53-31.11 15.19l-23.74 19.87h81.93l-3.2-9.62c-3.89-11.66-12.68-20.89-23.88-25.44z\"\n        fill=\"#4d583e\"\n      />\n    </g>\n  </svg>\n);\n","export const LivSmartFurniture = () => (\n  <div style={{ padding: '20px 0 0', backgroundColor: '#4D583E' }}>\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 0 1440 320\"\n      width=\"100%\"\n      height=\"auto\"\n      data-testid=\"livsmart-furniture\"\n      role=\"img\"\n    >\n      <title>\n        A TV on a shelf, two pairs of armchairs with a side table, a laundry basket filled with\n        folded clothes, a large potted plant, a nightstand, and a large bed with four pillows.\n      </title>\n      <g>\n        <rect fill=\"#4d583e\" x=\"-11.57\" y=\"-13.12\" width=\"1464.21\" height=\"343\" />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M9.81,293.62v-56.57h184.46v56.57H9.81ZM99.4,164.56v28.68H9.81v-28.68h89.59ZM104.69,199.06h89.59v32.17h-89.59v-32.17h0ZM9.81,231.23v-32.17h89.59v32.17H9.81ZM194.27,164.56v28.68h-89.59v-28.68h89.59ZM5.15,159.26v139.66h193.78v-139.66H5.15Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M161.84,164.56l-1.52,4.66c-.44,1.35-1.69,2.26-3.11,2.26h-15.46c-1.42,0-2.67-.91-3.11-2.26l-1.52-4.66h-32.44v28.68h89.59v-28.68h-32.44Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M66.96,164.56l-1.52,4.66c-.44,1.35-1.69,2.26-3.11,2.26h-15.46c-1.42,0-2.67-.91-3.11-2.26l-1.52-4.66H9.81v28.68h89.59v-28.68h-32.44Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M83.17,219.58h-.72c-.2,2.05-1.9,3.65-4,3.65H26.15c-2.1,0-3.8-1.61-4-3.65h-.72c-2.41,0-4.36,1.95-4.36,4.36v2.93c0,2.41,1.95,4.36,4.36,4.36h61.73c2.41,0,4.36-1.95,4.36-4.36v-2.93c0-2.41-1.95-4.36-4.36-4.36h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M82.48,219.19v-3.58c0-2.23-1.81-4.04-4.04-4.04H26.15c-2.23,0-4.04,1.81-4.04,4.04v3.58c0,.13.03.25.04.38h60.29c.01-.13.04-.25.04-.38h0Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M26.15,223.23h52.29c2.1,0,3.8-1.61,4-3.65H22.15c.2,2.05,1.9,3.65,4,3.65h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M83.17,281.97h-.72c-.2,2.05-1.9,3.65-4,3.65H26.15c-2.1,0-3.8-1.61-4-3.65h-.72c-2.41,0-4.36,1.95-4.36,4.36v2.93c0,2.41,1.95,4.36,4.36,4.36h61.73c2.41,0,4.36-1.95,4.36-4.36v-2.93c0-2.41-1.95-4.36-4.36-4.36h0Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M82.48,281.59v-3.58c0-2.23-1.81-4.04-4.04-4.04H26.15c-2.23,0-4.04,1.81-4.04,4.04v3.58c0,.13.03.26.04.38h60.29c.01-.13.04-.25.04-.38h0Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M26.15,285.62h52.29c2.1,0,3.8-1.61,4-3.65H22.15c.2,2.05,1.9,3.65,4,3.65h0Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M136.1,246.93l.2,8.14h-3.21l-.25-8.14h3.26ZM140.56,246.93l.16,8.14h-3.21l-.2-8.14h3.26ZM145.01,246.93l.11,8.14h-3.21l-.16-8.14h3.26ZM171.61,255.08h-3.21l.11-8.14h3.26l-.16,8.14h0ZM176.02,255.08h-3.21l.16-8.14h3.26l-.2,8.14h0ZM180.43,255.08h-3.21l.2-8.14h3.26l-.25,8.14h0ZM176.5,284.29h3.05l-.25,8.16h-3.01l.2-8.16h0ZM172.24,284.29h3.05l-.2,8.16h-3.01l.16-8.16h0ZM167.99,284.29h3.05l-.16,8.16h-3.01l.11-8.16h0ZM163.74,284.29h3.05l-.11,8.16h-3.01l.07-8.16h0ZM159.48,284.29h3.05l-.07,8.16h-3.01l.02-8.16h0ZM155.23,284.29h3.05l-.02,8.16h-3.01l-.02-8.16h0ZM150.98,284.29h3.05l.02,8.16h-3.01l-.07-8.16h0ZM146.72,284.29h3.05l.07,8.16h-3.01l-.11-8.16h0ZM142.47,284.29h3.05l.11,8.16h-3.01l-.16-8.16h0ZM138.22,284.29h3.05l.16,8.16h-3.01l-.2-8.16h0ZM137.02,284.29l.2,8.16h-3.01l-.25-8.16h3.05ZM136.79,274.95l.2,8.16h-3.06l-.25-8.16h3.1ZM136.56,265.61l.2,8.15h-3.11l-.24-8.15h3.16ZM136.53,264.42h-3.16l-.25-8.15h3.21l.2,8.15h0ZM140.89,264.42h-3.16l-.2-8.15h3.21l.16,8.15h0ZM145.25,264.42h-3.16l-.16-8.15h3.21l.11,8.15h0ZM149.55,256.27l.07,8.15h-3.16l-.11-8.15h3.21ZM149.54,255.08h-3.21l-.11-8.14h3.26l.07,8.14h0ZM153.95,255.08h-3.21l-.07-8.14h3.26l.02,8.14h0ZM158.37,255.08h-3.21l-.02-8.14h3.26l-.02,8.14h0ZM162.78,255.08h-3.21l.02-8.14h3.26l-.07,8.14h0ZM163.98,255.08l.07-8.14h3.26l-.11,8.14h-3.21ZM167.06,264.42h-3.16l.07-8.15h3.21l-.11,8.15h0ZM171.43,264.42h-3.16l.11-8.15h3.21l-.16,8.15h0ZM175.79,264.42h-3.16l.16-8.15h3.21l-.2,8.15h0ZM176.99,264.42l.2-8.15h3.21l-.25,8.15h-3.16ZM176.76,273.76l.2-8.15h3.16l-.25,8.15h-3.11ZM176.73,274.95h3.11l-.25,8.16h-3.06l.2-8.16h0ZM172.42,274.95h3.11l-.2,8.16h-3.06l.16-8.16h0ZM168.12,274.95h3.11l-.16,8.16h-3.06l.11-8.16h0ZM163.81,274.95h3.11l-.11,8.16h-3.06l.07-8.16h0ZM159.51,274.95h3.11l-.07,8.16h-3.06l.02-8.16h0ZM155.21,274.95h3.11l-.02,8.16h-3.06l-.02-8.16h0ZM150.9,274.95h3.11l.02,8.16h-3.06l-.07-8.16h0ZM146.6,274.95h3.11l.07,8.16h-3.06l-.11-8.16h0ZM142.29,274.95h3.11l.11,8.16h-3.06l-.16-8.16h0ZM141.09,274.95l.16,8.16h-3.06l-.2-8.16h3.11ZM141.07,273.76h-3.11l-.2-8.15h3.16l.16,8.15h0ZM145.38,273.76h-3.11l-.16-8.15h3.16l.11,8.15h0ZM149.69,273.76h-3.11l-.11-8.15h3.16l.07,8.15h0ZM153.98,265.61l.02,8.15h-3.11l-.07-8.15h3.16ZM153.98,264.42h-3.16l-.07-8.15h3.21l.02,8.15h0ZM158.34,264.42h-3.16l-.02-8.15h3.21l-.02,8.15h0ZM159.54,264.42l.02-8.15h3.21l-.07,8.15h-3.16ZM158.31,273.76h-3.11l-.02-8.15h3.16l-.02,8.15h0ZM162.63,273.76h-3.11l.02-8.15h3.16l-.07,8.15h0ZM166.94,273.76h-3.11l.07-8.15h3.16l-.11,8.15h0ZM172.6,265.61h3.16l-.2,8.15h-3.11l.16-8.15h0ZM171.25,273.76h-3.11l.11-8.15h3.16l-.16,8.15h0ZM181.91,245.76h-50.31l1.41,47.86h47.48l1.41-47.86h0Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M184.74,315H19.35c-1.95,0-3.55-1.53-3.65-3.48l-.59-12.6h173.86l-.59,12.6c-.09,1.95-1.7,3.48-3.65,3.48h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M133.22,153.74h-62.36c-1.63,0-2.95,1.32-2.95,2.95v2.58h68.26v-2.58c0-1.63-1.32-2.95-2.95-2.95h0Z\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"104.69 153.74 99.4 153.74 99.4 145.41 104.69 145.41 104.69 153.74 104.69 153.74\"\n        />\n        <polygon\n          fill=\"#90add2\"\n          points=\"177.76 145.41 26.33 145.41 26.33 60.23 177.76 60.23 177.76 145.41 177.76 145.41\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"343.76 241.48 335.59 315 339.56 315 347.66 242.08 343.76 241.48 343.76 241.48\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M350.15,236.42c1.31-1,2.92-1.42,4.55-1.17l67.31,10.3c2.71.41,4.79,2.61,5.06,5.34l6.28,64.11h3.96l-6.32-64.5c-.44-4.53-3.89-8.17-8.39-8.85l-67.31-10.3c-2.7-.41-5.38.27-7.55,1.94-1.48,1.14-2.57,2.63-3.22,4.32l4.05.62c.39-.69.92-1.31,1.58-1.81h0Z\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"289.59 280.33 288.65 276.5 342.68 263.12 343.63 266.94 289.59 280.33 289.59 280.33\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"379.38 270.86 378.43 267.03 429.11 254.47 430.06 258.3 379.38 270.86 379.38 270.86\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M371.09,264.13l59.03-14.39c5.24-1.28,8.52-6.5,7.39-11.77l-.73-3.4c-1.61-7.49-6.85-13.68-13.97-16.5l-38.71-15.31c-6.77-2.68-11.91-8.34-13.92-15.34l-13.01-45.25c-.93-3.25-4.35-5.11-7.59-4.12l-64.94,14.65,21.91,78.8,64.54,32.63h0Z\"\n        />\n        <path\n          fill=\"#fffaf3\"\n          d=\"M366.96,228.45c-2.13-3.11-5.47-11.01-7.22-21.98-1.75-10.97-.48-16.64-3.27-18.36-2.8-1.72-3.65,1.52-10.09,4.12-3.71,1.5-10.05,3.54-13.87,4.47l-.02-.11s-.91.27-2.38.67c-1.48.34-2.41.53-2.41.53l.03.11c-3.81,1-9.15,2.26-13.13,2.71-6.89.76-10.4-1.76-12.04,1.08-1.65,2.84,2.16,7.23,5.81,17.72,3.65,10.5,4.17,19,4.05,22.78-.07,2-.78,3.83.35,5.06,1.43,1.55,2.67.09,6.93-.98,4.65-1.17,18.41-4.88,21.33-5.62,2.93-.73,16.83-3.76,27.97-6.92.69-.19.09-2.17-2.04-5.27Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M312.6,277.33l77.86-17.17c3.42-.76,5.6-4.13,4.86-7.56l-1.28-5.97c-1.67-7.81-7.54-14.05-15.23-16.2l-60.62-16.99c-7.29-2.04-12.96-7.8-14.89-15.12l-10.87-41.27c-.9-3.4-4.44-5.38-7.8-4.35l-3.72,1.14c-1.68.51-2.76,2.16-2.54,3.91l5.67,46.71,20.55,68.19c1.03,3.42,4.52,5.46,8,4.7h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M296.19,240.51c.18-1.64,1-3.09,2.31-4.09,1.31-1,2.92-1.42,4.55-1.17l40.71,6.23.16-1.4c.1-.86.31-1.68.61-2.47l-40.88-6.26c-2.7-.41-5.38.27-7.55,1.94-2.17,1.66-3.53,4.07-3.83,6.79l-8.32,74.92h3.97l8.28-74.49h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M370.96,241.65l-22.39-3.43c-.39.69-.64,1.47-.73,2.29l-.17,1.56,22.7,3.47c2.71.41,4.79,2.61,5.06,5.34l6.28,64.11h3.96l-6.32-64.5c-.44-4.53-3.89-8.17-8.39-8.85h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M343.76,241.48l3.9.6.17-1.56c.09-.82.34-1.59.73-2.29l-4.05-.62c-.3.79-.51,1.61-.61,2.47l-.16,1.4h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M1412.05,315h-273.02c-4.43,0-8.03-3.59-8.03-8.03v-20.01h289.08v20.01c0,4.43-3.6,8.03-8.03,8.03h0Z\"\n        />\n        <polygon\n          fill=\"#f59e4f\"\n          points=\"1410.61 119.81 1140.47 119.81 1140.47 214.05 1410.61 214.05 1410.61 119.81 1410.61 119.81\"\n        />\n        <path\n          fill=\"#fffaf3\"\n          d=\"M1262.95,217.88c-2.39-5.05-4.78-17.17-2.99-32.99,1.79-15.82,6.58-23.23,2.39-26.59-4.19-3.37-7.16.84-19.72,2.18-7.25.78-19.39,1.4-26.58,1.35v-.16s-1.73.06-4.5.1c-2.77-.05-4.51-.1-4.51-.1v.16c-7.18.05-17.22-.05-24.46-.83-12.56-1.35-17.64-6.07-21.83-2.7-4.19,3.37.6,10.77,2.39,26.59,1.79,15.82-1.08,27.8-2.99,32.99-1.01,2.75-3.1,5.04-1.64,7.14,1.84,2.65,4.69,1.05,12.72,1.05,8.76,0,34.8-.34,40.32-.35,5.52.01,31.52.66,52.66.18,1.3-.03,1.13-2.97-1.26-8.02Z\"\n        />\n        <path\n          fill=\"#fffaf3\"\n          d=\"M1391.01,217.88c-2.39-5.05-4.78-17.17-2.99-32.99,1.79-15.82,6.58-23.23,2.39-26.59-4.19-3.37-7.16.84-19.72,2.18-7.25.78-19.39,1.4-26.58,1.35v-.16s-1.73.06-4.5.1c-2.77-.05-4.51-.1-4.51-.1v.16c-7.18.05-17.22-.05-24.46-.83-12.56-1.35-17.64-6.07-21.83-2.7-4.19,3.37.6,10.77,2.39,26.59,1.79,15.82-1.08,27.8-2.99,32.99-1.01,2.75-3.1,5.04-1.64,7.14,1.84,2.65,4.69,1.05,12.72,1.05,8.76,0,34.8-.34,40.32-.35,5.52.01,31.52.66,52.66.18,1.3-.03,1.13-2.97-1.26-8.02Z\"\n        />\n        <polygon\n          fill=\"#e16435\"\n          points=\"1129.07 108.74 1129.07 214.05 1140.47 214.05 1140.47 119.81 1410.61 119.81 1410.61 214.05 1422.01 214.05 1422.01 108.74 1129.07 108.74 1129.07 108.74\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M1187.93,170.39c-4.92-.59-5.76-1.56-5.09,4.27,1.34,12.07,1.34,25.13,0,37.2-.66,5.86.17,4.86,5.09,4.3,15.35-1.81,31.81-1.81,47.16,0,4.93.56,5.76,1.56,5.09-4.3-1.34-12.07-1.34-25.13,0-37.2.66-5.83-.17-4.86-5.09-4.27-15.35,1.78-31.81,1.78-47.16,0h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M1315.99,170.39c-4.92-.59-5.76-1.56-5.09,4.27,1.34,12.07,1.34,25.13,0,37.2-.66,5.86.17,4.86,5.09,4.3,15.35-1.81,31.81-1.81,47.16,0,4.93.56,5.76,1.56,5.09-4.3-1.34-12.07-1.34-25.13,0-37.2.66-5.83-.17-4.86-5.09-4.27-15.35,1.78-31.81,1.78-47.16,0h0Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M1424.66,286.96h-298.23c-5.8,0-10.5-4.7-10.5-10.5v-51.92c0-5.8,4.7-10.5,10.5-10.5h298.23c5.8,0,10.5,4.7,10.5,10.5v51.92c0,5.8-4.7,10.5-10.5,10.5h0Z\"\n        />\n        <polygon\n          fill=\"#e16435\"\n          points=\"560.08 166.98 677.78 166.98 677.78 255.54 560.08 255.54 560.08 166.98 560.08 166.98\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"706.08 314.44 712.01 314.44 713.52 293.47 704.58 293.47 706.08 314.44 706.08 314.44\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"676.99 314.44 682.93 314.44 684.43 293.47 675.49 293.47 676.99 314.44 676.99 314.44\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"586.68 315 592.61 315 594.11 294.02 585.17 294.02 586.68 315 586.68 315\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"559.48 315 565.42 315 566.92 294.02 557.98 294.02 559.48 315 559.48 315\"\n        />\n        <path fill=\"#643f56\" d=\"M635.84,167.01h59.6v81.87h-71.6v-69.87c0-6.62,5.38-12,12-12Z\" />\n        <path\n          fill=\"#fffaf3\"\n          d=\"M689.46,241.56c-2.01-5.05-4.03-17.17-2.52-32.99,1.51-15.82,5.54-23.23,2.01-26.59-3.52-3.37-6.02.84-16.6,2.18-6.1.78-16.32,1.4-22.38,1.35h-7.58c-6.05.05-14.5-.05-20.6-.83-10.57-1.35-14.85-6.07-18.37-2.7-3.52,3.37.5,10.77,2.01,26.59,1.51,15.82-.91,27.8-2.52,32.99-.85,2.75-2.61,5.04-1.38,7.14,1.55,2.65,3.95,1.05,10.7,1.05,7.37,0,29.29-.34,33.94-.35,4.65.01,26.53.66,44.33.18,1.1-.03.95-2.97-1.06-8.02Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M678.86,166.98v127.04h34.71c2.81,0,5.08-2.28,5.08-5.08v-115.48c0-3.57-2.9-6.47-6.47-6.47\"\n        />\n        <path fill=\"#643f56\" d=\"M579.18,249.23h104.91v44.77h-116.91v-32.77c0-6.62,5.38-12,12-12Z\" />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M560.62,166.98c-3.78,0-6.84,3.06-6.84,6.84v120.2h13.68v-120.2c0-3.78-3.06-6.84-6.84-6.84Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M677.78,166.98h0c3.78,0,6.84,3.06,6.84,6.84v120.2h-13.68v-120.2c0-3.78,3.06-6.84,6.84-6.84h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M1090.45,315h-37.67c-1.89,0-3.43-1.53-3.43-3.43v-2.54c0-1.89,1.53-3.43,3.43-3.43h37.67c1.89,0,3.43,1.53,3.43,3.43v2.54c0,1.89-1.53,3.43-3.43,3.43h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M1071.62,305.76c-11.67,0-21.16-9.49-21.16-21.16v-86.01h4.54v86.01c0,9.16,7.45,16.62,16.62,16.62s16.62-7.45,16.62-16.62v-86.01h4.54v86.01c0,11.67-9.49,21.16-21.16,21.16h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M1107.9,201.99h-72.57c-1.89,0-3.43-1.53-3.43-3.43h0c0-1.89,1.53-3.43,3.43-3.43h72.57c1.89,0,3.43,1.53,3.43,3.43h0c0,1.89-1.53,3.43-3.43,3.43h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M1025.1,159.27c-13.46,3.8-21.26,12.55-25.76,20.97,7.28-3.95,16.99-10.57,25.76-20.97h0Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M966.73,89.17c-.12.43-.25.86-.37,1.29-3.86,14.14-3.73,26.82-2.07,37.15,3.58-13.55,4-26.48,2.44-38.43h0Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M967.66,253.27c-.16-8.37-1.56-16.77-4.58-24.6-1.92-5.04-4.53-9.67-7.66-13.88-.22-.3-.41-.62-.55-.96-3.61-8.86-20.79-44.95-56.45-30.14,20.09,27.56,44.26,31.57,53.41,32.05,1.46.08,2.8.85,3.57,2.08,6.57,10.49,9.65,23.04,9.38,35.45h2.87Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M969.25,240.08c-1.06-21.5-3.72-43.92-6.81-65.27-1.37-9.33-2.85-18.63-4.42-27.93-.15-.91-.02-1.84.36-2.68,2.53-5.61,4.48-11.15,5.92-16.58,0,0,0-.01,0-.02-1.66-10.32-1.79-23.01,2.07-37.15.12-.43.24-.86.37-1.29-.55-4.24-1.35-8.36-2.35-12.34-7.52-30.02-26.15-52.15-33.04-59.56-1.06-1.14-2.97-.54-3.2,1-10.83,73.4,18.36,115.62,26.79,126.05.52.64.85,1.41.98,2.23,1.42,9.53,2.74,19.06,3.95,28.62,2.65,21.28,4.86,43.67,5.49,65.06l.16,13.02h4.16l-.43-13.17h0Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M980.71,59.62c-6.87,10.29-11.3,20.22-13.98,29.55,1.56,11.95,1.14,24.88-2.44,38.43.52,3.23,1.18,6.22,1.93,8.96,1.72,6.36,3.85,11.31,5.43,14.53.51,1.04.72,2.19.61,3.34-1.6,15.92-2.97,31.86-4.15,47.79-1.61,22.47-2.72,44.95-3.33,67.48h8.97c-.65-27.92-.47-56.1.42-84.04.35-10.11.77-20.23,1.28-30.33.06-1.23.49-2.41,1.23-3.4.33-.44.69-.92,1.06-1.44,5.16-7.17,13.98-21.91,15.86-40.88,1.46-14.64-1.21-31.81-12.89-49.98h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M1003.17,137.92c-7.28,11.7-11.09,24.37-13.06,33.65-.74,3.46-1.22,6.45-1.52,8.75-.11.85-.38,1.67-.77,2.43,0,0,0,0,0,.01-10.07,19.67-16.62,41.45-18.08,63.58-.06,1.54-.23,5.3-.29,6.92h5.2c.01-1.55.03-5.15.04-6.69.05-1.42.29-5.25.35-6.68,1.4-17.98,6.21-35.73,13.54-52.49.75-1.71,2.11-3.07,3.83-3.79,1.86-.79,4.24-1.89,6.95-3.36,4.5-8.42,12.3-17.18,25.76-20.97,9.95-11.8,18.68-28.46,21.29-51.61-21.09,3.87-34.59,16.38-43.22,30.26h0Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M1041.94,157.35c-6.42-.17-12,.56-16.85,1.92-8.77,10.4-18.48,17.02-25.76,20.97-3.79,7.1-5.24,13.95-5.77,17.4-.12.77-.42,1.49-.89,2.11-4.49,6.03-8.35,12.51-11.47,19.34-5.88,12.97-8.82,27.16-9.08,41.4h3.7c-.12-9.19.89-18.41,3.13-27.35,2.83-11.03,7.63-21.47,13.95-30.93.86-1.28,2.28-2.07,3.82-2.11,8.45-.23,30.71-4.49,46.51-40.71.41-.95-.26-2.02-1.3-2.04h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M992.63,255.03c0-.98-.79-1.77-1.77-1.77h-39.98c-.97,0-1.77.79-1.77,1.77v37.72c0,3.2,1.21,6.11,3.18,8.32h37.15c1.97-2.21,3.18-5.12,3.18-8.32v-37.72h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M980.11,305.28h-18.47c-3.72,0-7.05-1.63-9.34-4.2h-1.24c-1.04,0-1.86.9-1.76,1.93l1,10.39c.09.91.85,1.6,1.76,1.6h37.63c.91,0,1.67-.69,1.76-1.6l1-10.39c.1-1.04-.72-1.93-1.76-1.93h-1.24c-2.29,2.57-5.62,4.2-9.34,4.2h0Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M961.64,305.28h18.47c3.72,0,7.05-1.63,9.34-4.2h-37.15c2.29,2.57,5.62,4.2,9.34,4.2h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M969.99,253.27c-.48-21.7-7.54-45.31-17.54-68.02-.41-.93-.59-1.93-.53-2.94.73-11.41-.02-53.7-47.15-82.29-.45-.27-1.02.08-.99.6,2.99,51.93,34.88,76.41,44.88,82.84,1.09.7,1.94,1.71,2.44,2.9,9.28,22.49,15.66,45.74,15.68,66.91,0,0,3.23,0,3.23,0h0Z\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"239.61 315 237.72 315 237.72 159.05 239.61 159.05 239.61 315 239.61 315\"\n        />\n        <polygon\n          fill=\"#e16435\"\n          points=\"252.8 141.57 252.8 125.79 247.41 125.79 247.41 141.57 252.8 141.57 252.8 141.57\"\n        />\n        <polygon\n          fill=\"#e16435\"\n          points=\"247.41 151.86 252.8 151.86 252.8 146.53 247.41 146.53 247.41 151.86 247.41 151.86\"\n        />\n        <polygon\n          fill=\"#fffaf3\"\n          points=\"229.92 81.31 229.92 125.79 229.92 141.57 247.41 141.57 247.41 125.79 247.41 81.31 229.92 81.31 229.92 81.31\"\n        />\n        <polygon\n          fill=\"#fffaf3\"\n          points=\"229.92 146.53 229.92 151.86 229.92 159.05 247.41 159.05 247.41 151.86 247.41 146.53 229.92 146.53 229.92 146.53\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"258.86 141.57 252.8 141.57 252.8 146.53 258.86 146.53 258.86 141.57 258.86 141.57\"\n        />\n        <polygon\n          fill=\"#90add2\"\n          points=\"247.41 141.57 247.41 146.53 252.8 146.53 252.8 141.57 247.41 141.57 247.41 141.57\"\n        />\n        <polygon\n          fill=\"#e16435\"\n          points=\"224.48 141.57 224.48 125.79 229.87 125.79 229.87 141.57 224.48 141.57 224.48 141.57\"\n        />\n        <polygon\n          fill=\"#e16435\"\n          points=\"229.87 151.86 224.48 151.86 224.48 146.53 229.87 146.53 229.87 151.86 229.87 151.86\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"218.42 141.57 224.48 141.57 224.48 146.53 218.42 146.53 218.42 141.57 218.42 141.57\"\n        />\n        <polygon\n          fill=\"#90add2\"\n          points=\"229.87 141.57 229.87 146.53 224.48 146.53 224.48 141.57 229.87 141.57 229.87 141.57\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"229.92 146.53 247.41 146.53 247.41 141.57 229.92 141.57 229.92 146.53 229.92 146.53\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M862.93,219.05h-66.4c-5.72,0-10.36,4.64-10.36,10.36v27.3s76.76,0,76.76,0c10.4,0,18.83-8.43,18.83-18.83h0c0-10.4-8.43-18.83-18.83-18.83h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M786.17,256.78h76.88c10.39,0,18.84-8.45,18.84-18.84,0-10.39-8.45-18.84-18.84-18.84h-66.97c-4.94,0-8.96,4.02-8.96,8.96s4.02,8.96,8.96,8.96h67.2c.5,0,.91.41.91.91,0,.5-.41.91-.91.91h-77.11s0,7.61,0,7.61h77.11c4.7,0,8.52-3.82,8.52-8.52,0-4.7-3.82-8.52-8.52-8.52h-67.2c-.75,0-1.36-.61-1.36-1.36s.61-1.36,1.36-1.36h66.97c6.19,0,11.23,5.04,11.23,11.23,0,6.19-5.04,11.23-11.23,11.23h-76.88s0,7.61,0,7.61h0Z\"\n        />\n        <rect\n          fill=\"#fffaf3\"\n          x=\"786.88\"\n          y=\"256.6\"\n          width=\"85.18\"\n          height=\"22.23\"\n          rx=\"9.06\"\n          ry=\"9.06\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M875.53,288.6c0-5.61-4.55-10.15-10.15-10.15h-70.63c-5.61,0-10.16,4.55-10.16,10.15,0,2.26.75,4.34,2,6.03h86.94c1.25-1.69,2-3.77,2-6.03Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M879.4,294.63h-5.87c-1.85,2.5-4.81,4.12-8.16,4.12h-70.63c-3.35,0-6.3-1.63-8.16-4.12h-6.09c-.94,0-1.7.76-1.7,1.7v13.45c0,.94.76,1.7,1.7,1.7h98.91c.94,0,1.7-.76,1.7-1.7v-13.45c0-.94-.76-1.7-1.7-1.7Z\"\n        />\n        <path\n          fill=\"#643f56\"\n          d=\"M794.74,298.75h70.63c3.35,0,6.3-1.63,8.16-4.12h-86.94c1.85,2.5,4.81,4.12,8.16,4.12Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M897.6,234.18h-136.12c-1.76,0-3.19,1.43-3.19,3.19v4.73c0,1.76,1.43,3.19,3.19,3.19h136.12c1.76,0,3.19-1.43,3.19-3.19v-4.73c0-1.76-1.43-3.19-3.19-3.19Z\"\n        />\n        <path\n          fill=\"#e16435\"\n          d=\"M766.44,245.29l8,65.57c.29,2.36,2.3,4.14,4.68,4.14h100.83c2.38,0,4.39-1.78,4.68-4.14l8-65.57h-126.19ZM824.94,255.84v5.83h-9.45l-.13-12.12h3.29c3.47,0,6.29,2.82,6.29,6.29ZM815.67,277.45l-.16-14.28h9.43v14.28h-9.27ZM824.94,278.96v14.28h-9.1l-.16-14.28h9.26ZM804.79,278.96l.33,14.28h-7.71l-.51-14.28h7.89ZM796.84,277.45l-.51-14.28h8.09l.33,14.28h-7.91ZM804.38,261.67h-8.11l-.43-12.12h8.26l.28,12.12ZM794.77,261.67h-7.94l-.74-12.12h8.25l.43,12.12ZM786.28,277.45h-9.16l-1.55-14.28h9.84l.87,14.28ZM786.37,278.96l.87,14.28h-8.41l-1.55-14.28h9.09ZM786.92,263.17h7.91l.51,14.28h-7.55l-.87-14.28ZM795.39,278.96l.51,14.28h-7.16l-.87-14.28h7.51ZM788.84,294.74h7.12l.52,14.45h-7.48l.72-.04-.87-14.41ZM797.98,309.17l-.52-14.43h7.69l.34,14.45h-8.21l.7-.02ZM806.26,277.45l-.33-14.28h8.09l.16,14.28h-7.91ZM814.18,278.96l.16,14.28h-7.71l-.33-14.28h7.89ZM807,309.17l-.34-14.44h7.69l.16,14.45h-8.18l.67-.02ZM813.99,261.67h-8.11l-.28-12.12h8.26l.13,12.12ZM781.1,249.55h3.49l.74,12.12h-9.92l-.56-5.15c-.4-3.72,2.51-6.97,6.25-6.97ZM779.95,303.58l-.96-8.84h8.34l.88,14.45h-2c-3.21,0-5.91-2.42-6.25-5.61ZM818.65,309.19h-3.21.57s-.16-14.45-.16-14.45h9.08v8.16c0,3.47-2.82,6.29-6.29,6.29ZM834.13,302.9v-8.16h9.06l-.16,14.44h.57s-3.19,0-3.19,0c-3.47,0-6.29-2.82-6.29-6.29ZM843.37,278.96l-.16,14.28h-9.08v-14.28h9.24ZM834.13,277.45v-14.28h9.41l-.16,14.28h-9.25ZM852.76,278.96l-.33,14.28h-7.71l.16-14.28h7.89ZM844.89,277.45l.16-14.28h8.09l-.33,14.28h-7.91ZM862.16,278.96l-.51,14.28h-7.71l.33-14.28h7.89ZM854.3,277.45l.33-14.28h8.09l-.51,14.28h-7.91ZM861.59,294.74l-.52,14.43.7.02h-8.21l.34-14.45h7.69ZM863.1,294.74h7.12l-.88,14.41.72.04h-7.48l.52-14.45ZM863.15,293.24l.51-14.28h7.51l-.87,14.28h-7.16ZM863.72,277.45l.51-14.28h7.91l-.87,14.28h-7.55ZM872.68,278.96h9.11l-1.55,14.28h-8.43l.87-14.28ZM872.77,277.45l.87-14.28h9.87l-1.55,14.28h-9.18ZM872.23,261.67h-7.94l.43-12.12h8.25l-.74,12.12ZM862.78,261.67h-8.11l.28-12.12h8.26l-.43,12.12ZM853.17,261.67h-8.11l.13-12.12h8.26l-.28,12.12ZM852.39,294.74l-.34,14.44.67.02h-8.18l.16-14.45h7.69ZM879.12,303.58c-.35,3.19-3.04,5.61-6.25,5.61h-2.02l.88-14.45h8.36l-.96,8.84ZM884.23,256.52l-.56,5.15h-9.94l.74-12.12h3.51c3.74,0,6.66,3.25,6.25,6.97ZM840.42,249.55h3.27l-.13,12.12h-9.43v-5.83c0-3.47,2.82-6.29,6.29-6.29Z\"\n        />\n        <path\n          fill=\"#fffaf3\"\n          d=\"M794.78,203.08h61.46c4.18,0,7.57,3.39,7.57,7.57v.82c0,4.18-3.39,7.57-7.57,7.57h-61.46v-15.97h0Z\"\n        />\n        <rect fill=\"#643f56\" x=\"794.68\" y=\"210.01\" width=\"62.64\" height=\"2.29\" />\n        <path\n          fill=\"#e16435\"\n          d=\"M442.01,168.96h55.04c2.31,0,4.19,1.88,4.19,4.19v6.32h-63.41v-6.32c0-2.31,1.88-4.19,4.19-4.19Z\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"503.48 310.92 498.94 310.92 498.94 180.68 503.48 180.68 503.48 310.92 503.48 310.92\"\n        />\n        <polygon\n          fill=\"#643f56\"\n          points=\"481.2 310.92 476.66 310.92 476.66 180.68 481.2 180.68 481.2 310.92 481.2 310.92\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M506.27,176.6h-74.01c-2.25,0-4.08,1.83-4.08,4.08h0c0,2.25,1.83,4.08,4.08,4.08h74.01c2.25,0,4.08-1.83,4.08-4.08h0c0-2.25-1.83-4.08-4.08-4.08h0Z\"\n        />\n        <path\n          fill=\"#f59e4f\"\n          d=\"M506.78,306.84h-55.7c-1.97,0-3.57,1.6-3.57,3.57v4.59h62.84v-4.59c0-1.97-1.6-3.57-3.57-3.57h0Z\"\n        />\n        <path\n          fill=\"#90add2\"\n          d=\"M459.07,162.9h25.45c1.7,0,3.08,1.38,3.08,3.08h0c0,1.7-1.38,3.08-3.08,3.08h-25.45c-1.7,0-3.08-1.38-3.08-3.08h0c0-1.7,1.38-3.08,3.08-3.08h0Z\"\n        />\n      </g>\n    </svg>\n  </div>\n);\n","interface EnterpriseFiligreeProps {\n  fillColor?: string;\n  opacity?: string;\n  testId?: string;\n}\n\nexport const EnterpriseFiligree: React.FC<EnterpriseFiligreeProps> = ({\n  fillColor = '#F0E9E6',\n  opacity = 0.35,\n  testId = 'enterprise-filigree',\n}) => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"100%\"\n    height=\"auto\"\n    viewBox=\"0 0 1440 83\"\n    fill=\"none\"\n    data-testid={testId}\n    aria-hidden=\"true\"\n  >\n    <g clipPath=\"url(#clip0_124_45863)\">\n      <rect width=\"1440\" height=\"83\" fill={fillColor} />\n      <g opacity={opacity} fill=\"black\">\n        <path d=\"M1339.95 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.02 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1.01 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM1265.66 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.62-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM1223.88 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM1255.77 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M1328.76 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M1304.4 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M1291.48 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM1342.21 48.65v-.78h.28v-.16h-.75v.16h.28v.78zM1343.65 48.65v-.94h-.23l-.27.67-.27-.67H1342.65v.94h.19v-.6l.26.6h.1l.26-.6v.6zM1166.16 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.01 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM1091.87 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.63-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM1050.09 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM1081.98 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M1154.97 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.28 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M1130.62 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M1117.69 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM1168.42 48.65v-.78h.29v-.16h-.76v.16h.29v.78zM1169.86 48.65v-.94h-.22l-.27.67-.27-.67h-.23v.94h.19v-.6l.26.6h.1l.25-.6v.6zM992.38 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.02 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM918.09 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.62-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM876.31 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM908.2 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M981.18 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.28 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M956.83 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M943.91 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM996.08 48.65v-.94h-.23l-.27.67-.27-.67H995.08v.94h.19v-.6l.26.6h.1l.26-.6v.6zM994.64 48.65v-.78h.28v-.16h-.75v.16h.28v.78zM818.59 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.01 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM744.3 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.63-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM702.52 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM734.41 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.03-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M807.4 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M783.05 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.09-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M770.12 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM820.85 48.65v-.78h.29v-.16h-.76v.16h.29v.78zM822.29 48.65v-.94h-.22l-.27.67-.27-.67h-.23v.94h.19v-.6l.26.6h.1l.25-.6v.6zM644.81 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.02 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM570.52 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.62-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM528.74 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM560.63 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.03-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M633.61 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M609.26 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.09-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M596.34 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM648.51 48.65v-.94h-.23l-.27.67-.27-.67H647.51v.94h.19v-.6l.26.6h.1l.26-.6v.6zM647.07 48.65v-.78h.28v-.16h-.75v.16h.28v.78zM471.02 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.01 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM396.73 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.62-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM354.95 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM386.84 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.03-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M459.83 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M435.48 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M422.55 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM474.72 48.65v-.94h-.23l-.26.67-.27-.67h-.23v.94h.19v-.6l.25.6h.11l.25-.6v.6zM473.28 48.65v-.78h.29v-.16h-.76v.16h.29v.78zM297.24 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.02 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM222.95 53.66c.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49 1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2l1.19-1.52 1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77zm18.62-2.64c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM181.17 58.92l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85zM213.06 54.43c.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51z\" />\n        <path d=\"M286.04 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M261.69 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.09-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M248.77 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM299.5 48.65v-.78h.28v-.16h-.75v.16h.28v.78zM300.94 48.65v-.94h-.23l-.27.67-.27-.67H299.94v.94h.19v-.6l.26.6h.1l.26-.6v.6zM123.45 53.09c-.58.66-1.25 1.23-1.9 1.82-.54.49-1.07 1-1.65 1.45-.37.29-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.89-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.09-.44.45-.91.86-1.33 1.33-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34-.01-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.51.66-1.01.78-1.6.23-.98-.22-1.57-1.13-1.91a2.97 2.97 0 0 0-1.88-.19c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.19 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.71 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.59-3.43.99a21.42 21.42 0 0 0-6.03 2.91 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.51 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.31 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.41.44-.57.86-1.21 1.46-1.62.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.11 1.88-.75.28-.64-.43-.91-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.11-1.29-.73-.53.34-.92.88-1.35 1.34zm-19.01 7.55c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.46.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.59-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.86c-.56.69-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.29l-.53.61c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.11a5.4 5.4 0 0 1-.12-1.79c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.21 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM47.83 67.72c1.03-1.37 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.5.8-1 1.19-1.52.4-.53.78-1.08 1.18-1.6.63-.86 1.35-1.64 1.99-2.48l.86-1.1c.31-.39.62-.82 1.04-1.08.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.3 4.47-.43.16 0 .43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.5-.26.3-.49.62-.74.93-.37.47-.8.9-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.3-.35.64-.35 1-.03.64.54 1.13 1.17.9.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64 0 .4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.4-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1 1.22-1.54.56-.82 1.16-1.6 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.4-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.5.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.7.78-.73 1.67-1.33 2.43-2.07.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.1.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.1-3.08.07-.17 0-.28-.04-.31-.1-.04-.15.17-.36.28-.48l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.45 1.06-1.4.5-1.9-.76-.49-2.03.76-2.57 1.3l-4.06 3.86c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.6.38-.77.69-.76 1.37-1.53 2.04-2.3l2.69-3.12c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.7-1.19 1.3-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.1-1.98.18-2.96.3l-1.94.12c-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.1.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.1-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.4-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.5zm19.95-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.1.3-.02.17.2-.22.34-.57.63-.85.93-.46.43-.84.94-1.34 1.32l-.63.45c-.19.13-.79.73-.97.58-.02-.1.17-.27.27-.36zM.22 69.45c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.81 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.31.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.11 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.09-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.09 2.42.09.78.02 1.56.05 2.34.03.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.21-.65-.07-1.29-.2-1.94-.25-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.09 1.29-.02 2.58-.04 3.87-.08l.95-.01c.16 0 .51 0 .54.11.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63l-2.31 2.37c-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.29.79.19 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85l-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM45.56 53.15c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.1-.07-.33.46-.54 1-1.02 1.51-1.5.26-.26.51-.56.57-.92.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.4-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.9-.26.28-.86.92-.43 1.25.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33l-1.07 1c-.97.86-1.96 1.71-2.96 2.55A68.85 68.85 0 0 1 20.34 64c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.4-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.2 1.2.3 1.84.28.25 0 .78-.06.72.31-.11.4-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1 .37-.53.75-1.04 1.14-1.54.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.9 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.3.43-.89-.04-1.15z\" />\n        <path d=\"M112.26 44.43c.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.6.61.65.95.25.19-.2.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92z\" />\n        <path d=\"M87.91 56.55c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.69c-4.04 2.64-8.85 3.81-13.61 4.18-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.51-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M74.98 60.22c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.2-.92.25-.2.04-.46.04-.58-.06-.14-.1-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.4-.58.13-1.09.43-1.6.72-.82.46-1.51 1.12-2.2 1.75-.21.2-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.7-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95.15-.14.31-.28.47-.4.37-.32.68-.7.99-1.07.26-.32.53-.63.73-.99.22-.38.16-.8-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.9-2.31 1.76-3.49 2.6zm-2.71-1.58c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.4.77-.34.12.13-.13.48-.23.63-.45.68-1 1.3-1.6 1.85a12.27 12.27 0 0 1-2.89 2.29c-.94.65-.85.27-.33-.47zM125.71 48.65v-.78h.29v-.16h-.76v.16h.28v.78zM127.15 48.65v-.94h-.23l-.26.67-.28-.67h-.22v.94h.19v-.6l.25.6h.11l.25-.6v.6zM1434.02 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.02-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.26 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1.01 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM1360.29 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM1312.68 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM1358.02 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15z\" />\n        <path d=\"M1411.33 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.14-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M1400.37 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M1387.45 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM1260.24 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM1186.51 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM1138.9 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM1184.24 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15z\" />\n        <path d=\"M1237.54 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.28 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M1226.59 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M1213.66 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM1086.45 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM1012.72 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM965.11 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1L982.5 6h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM1010.45 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15z\" />\n        <path d=\"M1063.76 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.28 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M1052.8 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M1039.88 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM912.67 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM838.94 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM791.33 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM836.67 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.03-1.15z\" />\n        <path d=\"M889.97 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.28 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M879.02 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.09-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M866.09 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM738.88 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM665.15 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3L684 9.69c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM617.54 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM662.88 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.03-1.15z\" />\n        <path d=\"M716.19 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M705.23 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.09-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M692.31 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM565.1 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM491.37 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM443.76 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM489.1 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15z\" />\n        <path d=\"M542.4 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M531.45 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M518.52 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM391.31 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM317.58 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM269.97 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43a70.36 70.36 0 0 0-2.84 3.61c-.39.57-2.39 2.97-1.52 3.5zM315.31 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.03-1.15z\" />\n        <path d=\"M368.61 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M357.66 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.09-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M344.74 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47zM217.53 13.9c-.54.48-1.07 1-1.65 1.44-.37.3-.76.55-1.13.84a32.5 32.5 0 0 1-2.93 2.16c-1.31.9-.53-.23-.23-.86.7-1.35 1.7-2.52 2.58-3.76.35-.5.74-.97 1.14-1.43.29-.35.56-.72.84-1.09.15-.2.32-.45.37-.68.09-.48-.38-.38-.67-.16-.44.31-.83.71-1.2 1.1-.44.44-.91.85-1.33 1.32-.43.48-.83.98-1.27 1.46-1.38 1.45-2.74 2.93-4.14 4.35-.45.4-.34 0-.2-.33l.5-1.18c.45-1.06 1-2.08 1.57-3.08.31-.5.66-1 .78-1.6.23-.98-.22-1.57-1.13-1.9a2.97 2.97 0 0 0-1.88-.2c-1.74.41-3.12 1.65-4.38 2.85a65.13 65.13 0 0 0-4.48 4.77c-.52.58-1.08 1.12-1.51 1.77-.43.6-.9 1.18-1.18 1.87-.14.36-.25.76-.15 1.12.1.41.46.75.88.82.84.14 1.88-.53 2.57-.97.88-.58 1.74-1.19 2.54-1.87 1.1-.94 2.17-1.92 3.27-2.85.21-.18.48-.46.68-.57.23-.08-.08.54-.11.64-.44 1.01-1.4 3.61-.17 4.32.89.35 1.66-.49 2.25-1.05.31-.26.81-.99 1.25-.8.22.08.45.34.74.42.75.2 1.53-.37 2.14-.76.71-.45 1.41-.89 2.06-1.42.56-.43 1.15-.82 1.72-1.24.97-.7 1.82-1.54 2.75-2.27.13-.08.21-.09.23-.03.03.2-.2.55-.33.76a67.71 67.71 0 0 1-3.72 4.77c-.77.93-1.21 1.73-2.48 2.02-1.16.27-2.31.6-3.43 1a21.42 21.42 0 0 0-6.03 2.9 14.94 14.94 0 0 0-4.29 3.94c-1.35 1.8-2.38 4.03-2.07 6.33.21 2.08 1.63 3.58 3.79 3a6.97 6.97 0 0 0 2.81-1.73c.58-.5 1.07-1.09 1.61-1.65l.68-.7c.64-.77 1.24-1.57 1.86-2.34.82-1.05 1.59-2.12 2.43-3.15.5-.63.95-1.3 1.44-1.95.33-.44.7-.85 1.03-1.3.34-.46.65-.95 1-1.4.44-.58.86-1.22 1.46-1.63.34-.22.74-.33 1.13-.4.8-.16 1.6-.26 2.42-.34.92-.15 1.83-.26 2.75-.37.29-.04.58-.1.86-.15.65-.15 1.52-.1 1.88-.75.28-.64-.43-.9-.95-.9-1.45-.04-2.87.31-4.31.45l-1.25.16c-.38.05-.86.04-.57-.48.2-.37.51-.73.76-1.07a45.18 45.18 0 0 0 3.76-5.66c.51-.93 1.21-1.89 1.18-2.99-.03-.69-.68-1.1-1.29-.73-.53.34-.92.88-1.35 1.34-.58.66-1.25 1.23-1.9 1.82zm-17.12 5.71c-.46.34-.95.63-1.43.94-.3.2-.84.46-.44-.13.17-.24.39-.47.59-.69.35-.39.66-.8.99-1.2.32-.39.68-.75 1.01-1.13l.94-1.13c1.36-1.49 2.79-2.99 4.56-4.02a3.74 3.74 0 0 1 1.58-.55c.2-.02.55 0 .6.15.17.6-2.41 2.63-2.93 3.1-1.86 1.52-3.55 3.21-5.47 4.65zm10.25 5.87c-.56.7-1.07 1.45-1.65 2.13-.59.74-1.06 1.57-1.68 2.3l-.53.6c-.54.63-1 1.32-1.56 1.94-1.32 1.58-2.55 3.28-4.17 4.58-.98.77-2.58 1.61-3.07-.1a5.4 5.4 0 0 1-.12-1.8c.06-.38.2-.75.31-1.13a12.35 12.35 0 0 1 2.33-3.86c.62-.63 1.31-1.2 2.02-1.73 1.47-1 3-1.92 4.67-2.53.56-.25 1.12-.49 1.71-.67l1.45-.46c.15-.05.32-.1.47-.13.18-.03.31-.02.34.06.03.25-.37.58-.53.8zM143.8 26.69c1.03-1.38 1.81-2.92 2.8-4.33.46-.67.89-1.36 1.39-2 .39-.51.8-1 1.19-1.52l1.18-1.61c.63-.85 1.35-1.63 1.99-2.47l.86-1.11c.31-.38.62-.81 1.04-1.07.34-.22.75-.29 1.14-.33 1.49-.16 2.98-.31 4.47-.43.16-.01.43-.03.53.04.12.11-.12.35-.23.47-.15.15-.3.32-.44.49-.26.3-.49.63-.74.94-.37.47-.8.89-1.2 1.35-.37.41-.74.84-1.21 1.15-.44.28-.96.38-1.46.53-.32.11-.64.2-.96.26-.53.1-.83.44-.24.71.23.1.55.1.77.18.67.24-.13.95-.36 1.26a55.47 55.47 0 0 0-3.32 4.03c-.2.29-.35.64-.35.99-.03.65.54 1.14 1.17.91.35-.12.64-.37.93-.58a50.9 50.9 0 0 0 1.84-1.45c.65-.57 1.41-.99 2.12-1.47.8-.58 1.54-1.26 2.35-1.84.61-.47 1.14-1.03 1.73-1.53.85-.72 1.7-1.45 2.59-2.12.61-.4.64-.01.4.47-.7 1.35-1.63 2.57-2.51 3.81-.27.39-.5.82-.77 1.21-.58.81-1.24 1.6-1.65 2.52a2 2 0 0 0-.17.83c.02.77.6.92 1.16.44.49-.43.84-1.01 1.22-1.54.56-.82 1.16-1.61 1.66-2.47.57-1.05 1.21-2.06 1.81-3.1.23-.42.41-.86.64-1.27.16-.29.31-.59.42-.9.19-.6.38-1.4.07-1.98-.45-.78-1.36-.41-1.98-.06-1.3.73-2.47 1.66-3.6 2.63-1.1.98-2.21 1.97-3.39 2.86-.14.1-.24.15-.27.12-.03-.02.01-.13.12-.28.38-.51.82-.99 1.22-1.5.47-.58.88-1.19 1.41-1.71.78-.72 1.67-1.32 2.43-2.06.52-.48 1.05-.96 1.56-1.45.41-.38.77-.87 1.3-1.09.3-.13.65-.15.97-.17.74-.03 1.48-.1 2.23-.13 1.57-.09 3.13-.26 4.7-.32.67-.03 1.34-.1 2-.2.19-.03.4-.06.56-.12.36-.11.47-.34.09-.49-.4-.14-.87-.12-1.29-.14a41.66 41.66 0 0 0-4.47.05c-1.03.05-2.07.09-3.08.07-.17-.01-.28-.04-.31-.11-.04-.14.17-.35.28-.47l.45-.52c.73-.88 1.49-1.73 2.19-2.64.34-.46 1.06-1.41.5-1.91-.76-.48-2.03.77-2.57 1.3l-4.06 3.87c-.26.25-.54.5-.88.63-.45.18-.99.15-1.49.2-.78.08-1.57.14-2.35.17-.44.02-.88.06-1.31.11-.2 0-.45.06-.62-.05-.19-.18.26-.61.38-.77.69-.76 1.37-1.53 2.04-2.31l2.69-3.11c.21-.25.47-.54.53-.85.1-.49-.38-.58-.76-.4-.33.14-.62.37-.91.57a14 14 0 0 0-1.92 1.61c-.79.85-1.64 1.65-2.41 2.52-.55.69-1.19 1.29-1.78 1.94-.91 1.06-1.1 1.31-2.55 1.4-.98.09-1.98.18-2.96.29-.65.06-1.3.09-1.94.13-.32.02-.65.03-.94.11-.37.08-.7.45-.36.77.16.15.45.22.73.23a34.1 34.1 0 0 0 3.78-.12c.45-.02.93-.12 1.38-.08.53.09.05.63-.14.87-.41.48-.84.95-1.22 1.46-.81 1.09-1.65 2.16-2.41 3.28-.28.42-.55.84-.85 1.24-.75.93-1.33 1.97-1.96 2.97-.32.51-.66 1.01-.91 1.56-.18.39-.33.8-.48 1.21-.1.3-.21.6-.22.92-.04.76.48 1.11.98.49zm19.96-16.7c1.03-.84 1.92-1.84 2.88-2.77.14-.13.31-.28.47-.35.23-.11.3-.02.17.19-.22.35-.57.64-.85.94-.46.43-.84.94-1.34 1.32-.21.15-.43.29-.63.45-.19.13-.79.73-.97.58-.02-.11.17-.27.27-.36zM96.19 28.43c.45.13.8-.42 1.09-.73 1.63-1.89 3.2-3.8 4.76-5.75 1.75-1.9 3.43-3.87 5.23-5.72.31-.3.66-.55 1.08-.65.5-.12 1.03-.19 1.54-.28.85-.1 1.71-.2 2.56-.35.68-.1 1.36-.1 2.04-.13.95-.04 1.91-.16 2.87-.17.61-.04 1.66.02 1.96-.62.21-.83-1.28-.82-1.82-.84-.73-.02-1.46-.06-2.18 0-.53.03-1.06.1-1.59.15-.68.1-1.36.08-2.04.17l-1.12.16c-.15.02-.47.05-.55-.05-.08-.12.19-.38.3-.5 1.44-1.45 2.88-2.9 4.38-4.28.6-.57 1.22-1.12 1.83-1.68.46-.39.86-.94 1.45-1.14.15-.05.31-.08.47-.09a56.5 56.5 0 0 1 4.87.01h1.55c.81.04 1.61.1 2.42.1.78.01 1.56.04 2.34.02.19 0 .39-.02.55-.07.23-.07.39-.19.39-.37 0-.3-.49-.58-.8-.66-.38-.13-.78-.16-1.17-.2-.65-.08-1.29-.2-1.94-.26-.73-.07-1.46-.06-2.18-.13a9.98 9.98 0 0 0-1.73-.05c-.73.02-1.46.03-2.2-.02-.53-.04-1.05-.02-1.58 0-.5 0-1.01-.04-1.51-.04l-1.34.02c-.68 0-1.36-.03-2.04 0-.44.02-3.03.34-4.11.43-.36.1-.72.22-.95.46-.27.24-.28.68.1.82.16.07.37.08.59.1l3.87-.09h.95c.16 0 .51 0 .54.1.04.21-.48.54-.64.71-1.06.91-2.07 1.87-3.12 2.8-.59.51-1.14 1.06-1.68 1.63-.76.8-1.54 1.58-2.31 2.37-.59.6-1.12.75-1.92.91-.55.14-2.37.76-2.37.76-.4.13-1.83.67-1.61 1.21.22.3.79.2 1.15.15l1.07-.1c.17-.03.38-.08.55-.07.44.02.08.44-.09.63-.25.28-.52.56-.76.85-.93 1.14-1.86 2.3-2.8 3.43A70.36 70.36 0 0 0 97.7 25c-.39.57-2.39 2.97-1.52 3.5zM141.53 12.12c-.5-.27-1.13-.18-1.68-.1-.43.08-.84.22-1.24.38-.55.23-1.11.44-1.64.71a16.1 16.1 0 0 0-3.17 2.12c-.5.31-.26-.11-.07-.33.46-.54 1-1.02 1.51-1.51.26-.25.51-.55.57-.91.07-.36-.09-.74-.45-.83-.3-.08-.61.05-.92.21-.31.17-.6.39-.89.58a6.6 6.6 0 0 1-3 1.16c-.46.04-.94.04-1.4-.02a.99.99 0 0 1-.74-.4c-.17-.23-.28-.54-.47-.76-.37-.44-1.02-.39-1.47-.12-.39.22-.72.56-1.03.89-.26.29-.86.93-.43 1.26.2.13.51.01.69.1.19.2-.9 1.14-1.07 1.33-.35.34-.71.66-1.07.99-.97.87-1.96 1.72-2.96 2.56a68.85 68.85 0 0 1-4.29 3.54c-.5.37-.98.78-1.53 1.08-.79.37-.47-.4-.25-.77.29-.54.61-1.06.97-1.56a29.62 29.62 0 0 1 4.85-5.28c.56-.49 1.09-1.01 1.69-1.45.43-.33.92-.58 1.36-.89.16-.12.31-.25.43-.4.35-.44.37-1-.35-.73-.93.39-1.79.96-2.65 1.52-.57.38-1.05.86-1.59 1.28a21.44 21.44 0 0 0-5.65 6.05c-.51.85-1.37 2.44-1.12 3.43.22.86 1.2 1.07 1.96.83.86-.26 1.59-.85 2.32-1.37 1.41-1.06 2.78-2.17 4.15-3.28a82.34 82.34 0 0 0 4.55-4c.81-.78 1.6-1.56 2.25-2.47.29-.37.67-.36 1.08-.22.59.19 1.2.29 1.84.28.25 0 .78-.06.72.31-.11.39-.45.74-.68 1.08-.41.54-.77 1.12-1.15 1.68-.35.51-.74 1-1.07 1.52-.2.31-.4.63-.63.93-.77.95-1.74 1.8-2.26 2.94-.16.37-.27.76-.22 1.15.12.83.92.94 1.49.41.32-.29.58-.66.84-1.01.37-.52.75-1.03 1.14-1.53.82-1.08 1.8-2 2.77-2.93a35.62 35.62 0 0 1 5.16-4.34c.74-.5 1.54-.91 2.36-1.25.6-.26 1.25-.32 1.89-.45.21-.05.41-.13.57-.26.41-.31.43-.89-.04-1.15z\" />\n        <path d=\"M194.83 8.13c-2.35.36-4.71.68-7.02 1.21-.37.11-.58.35-.15.49.13.04.3.06.45.07.93.07 1.86.12 2.79.07 1.38-.06 2.76-.18 4.13-.35 1.21-.11 2.43-.17 3.63-.32.17-.02.51-.04.59.08.1.11-.1.43-.22.58-.84 1.12-1.79 2.16-2.6 3.3-1 1.46-2.09 2.86-3.1 4.32-.96 1.43-1.96 2.84-2.87 4.3a35.55 35.55 0 0 0-2.55 4.75c-.14.34-.29.67-.27 1.02.04.59.61.65.95.25.19-.21.33-.47.48-.71a80.95 80.95 0 0 1 2.55-4.05c1.23-1.87 2.42-3.78 3.8-5.55.38-.51.76-1.04 1.12-1.57 1-1.46 2.12-2.84 3.21-4.24.57-.7 1.26-1.27 1.94-1.87.53-.48 1.09-.95 1.84-.98.52-.04 1.05 0 1.56-.05.5-.03.99-.13 1.48-.15.32-.01.63-.01.95-.04.57-.05 1.15-.14 1.73-.16l5.23-.2c1.43-.06 2.88-.13 4.28-.46.21-.07.41-.17.54-.31.22-.24.14-.59-.19-.72-.19-.08-.44-.09-.65-.1-.75 0-1.51 0-2.26-.02-.47-.02-.94-.02-1.41.01-1.77.09-3.55.2-5.32.23-1.16.07-2.32.14-3.49.13-.26-.01-.72.08-.91-.05-.17-.17.34-.59.45-.73.9-.97 1.91-1.85 2.7-2.92.32-.43.7-.91.74-1.45a.88.88 0 0 0-1.2-.9c-.54.2-.99.59-1.43.95-1.81 1.54-3.31 3.38-4.96 5.08-.34.31-.75.44-1.21.49-.52.06-1.05.11-1.57.15-1.26.07-2.52.18-3.77.39z\" />\n        <path d=\"M183.88 15.53c.99.6 4.31 1.73 4.12 3.03s-1.49 1.96-2.44 2.7c-4.04 2.63-8.85 3.8-13.61 4.17-.44.05-.9.03-1.34.02-1.02-.03-1 1.04-.33 1.53 1.58.88 3.59.47 5.33.34 2.8-.37 5.41-1.47 7.9-2.76 2.56-1.42 7.5-3.74 5.87-7.36-1.16-1.94-3.87-2.5-5.7-3.69-.49-.27-2.12-1.05-2.06-2.16.27-1.6 3.08-2.89 4.39-3.73a44.96 44.96 0 0 1 8.23-3.35c1.09-.34 2.25-.44 3.37-.62.4-.05.79-.07 1.19-.06.3.01 1-.29.7-.7-.85-.64-2.16-.44-3.16-.27-3.69.65-20.19 4.78-15.67 10.72.79 1.03 2.07 1.6 3.21 2.18z\" />\n        <path d=\"M170.95 19.19c-.51.34-1.04.63-1.57.94-.47.26-.92.57-1.42.76-.29.11-.61.19-.92.25-.2.04-.46.04-.58-.06-.14-.11-.11-.36 0-.54.21-.37.65-.52 1.03-.66.7-.26 1.38-.59 2.01-.98l.92-.57a13.62 13.62 0 0 0 2.79-2.4c.48-.5.87-1.07 1.21-1.67.72-1.13.34-2.77-1.26-2.41-.58.14-1.09.44-1.6.73-.82.46-1.51 1.12-2.2 1.75-.21.19-.44.37-.66.55-.65.53-1.19 1.17-1.74 1.8-.29.34-.6.68-.87 1.04-.54.72-.96 1.53-1.39 2.32-.33.69-.55 1.53-.2 2.25.2.42.6.73 1.05.82.38.08.79.06 1.18.02.71-.05 1.34-.34 2-.62.9-.34 1.66-.94 2.46-1.45.63-.37 1.18-.85 1.76-1.29.39-.28.71-.63 1.06-.95l.47-.41c.37-.31.68-.69.99-1.06.26-.32.53-.63.73-.99.22-.38.16-.81-.33-.65a2.2 2.2 0 0 0-.48.25c-.33.21-.65.41-.95.65-1.15.89-2.31 1.76-3.49 2.6zm-2.71-1.57c.35-.52.79-.96 1.23-1.39.25-.25.49-.52.75-.76.44-.42.96-.76 1.43-1.15.28-.22.55-.47.85-.67.22-.14.55-.41.77-.34.12.13-.13.48-.23.63a18.5 18.5 0 0 1-3.56 3.55c-.29.21-.61.4-.93.59-.94.65-.85.27-.33-.47z\" />\n      </g>\n    </g>\n    <defs>\n      <clipPath id=\"clip0_124_45863\">\n        <rect width=\"1440\" height=\"83\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n);\n","interface HamptonSignatureProps {\n  backgroundColor?: string;\n  fillColor?: string;\n  testId?: string;\n}\n\nexport const HamptonSignature: React.FC<HamptonSignatureProps> = ({\n  backgroundColor = 'white',\n  fillColor = '#0047B5',\n  testId = 'hampton-signature',\n}) => (\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"100%\"\n    height=\"auto\"\n    viewBox=\"0 0 1440 480\"\n    fill=\"none\"\n    data-testid={testId}\n    aria-hidden=\"true\"\n  >\n    <rect width=\"1440\" height=\"480\" fill={backgroundColor} />\n    <path\n      fill={fillColor}\n      d=\"m105.37 221.35 2.28-7.9h75.64c-45.07 150.43-3.08 226.62 19.45 226.62 3.8 0 5.98-3.44 5.05-7.62-11.83-54.13 3.63-136.75 29.86-218.97h9.74c14.14 0 22.95-11.54 22.95-15.08 0-1.67-.93-2.9-3.18-2.9h-23.63c22.44-66.47 52.88-139.86 98.59-184.96a6.14 6.14 0 0 0 1.9-4.46c0-3.48-2.03-6.08-6.37-6.08-20.06 0-96.43 38.45-148.67 195.54H112.8c18.64-65.2 30.95-107.43 59.5-147.32 4.11-5.76 5.91-10.03 5.91-13.09 0-4.79-4.92-6.65-15.94-6.87C105.92 27.16 26.46 41.95.03 69.1v30.76c.87-.25 1.74-.7 2.45-1.41C28.77 73.81 73.9 49.6 148.45 41.34 111.13 64.6 78.2 130.64 56.96 195.5H37.77c-14.14 0-22.95 11.54-22.95 15.07 0 1.67.93 2.9 3.18 2.9h33.37c-.87 2.89-1.7 5.78-2.5 8.67-13 46.23-27.72 97.3-48.87 137.75v54.2c50.98-44.69 84.57-120.9 105.34-192.72l.03-.03Z\"\n    />\n    <path\n      fill=\"#0047B5\"\n      d=\"m1415.89 278.95 24.11-74.92v-53.69c-5.14-9.13-14.21-14.85-27.84-14.85-26.55 0-49.12 19.2-66.34 43.24 3.85-19.55-.87-39.54-28.65-39.54-5.88 0-8.39.74-9.61 4.5l-2.89 9c-10.29 32.2-35.49 52.3-57.96 60.91.55-6.1.81-12.11.71-17.93-.45-32.37-15.59-60.21-51.43-60.21-51.79 0-88.31 47.57-102.42 98.14a142.49 142.49 0 0 1-10.93 27.9c-13.53 25.88-35.32 52.24-50.91 52.24-10.71 0-11.32-12.06-4.18-34.66l39.5-123.82h32.05c13.02 0 19.61-7.9 19.61-12.99 0-1.54-1.12-2.57-3.05-2.57H1072l23.12-72.42c2.05-6.46-2.86-8.55-12.38-8.55-22.73.06-38.83 12.5-44.87 31.4l-15.82 49.57h-19.96c-13.02 0-19.61 7.91-19.61 12.99 0 1.54 1.13 2.57 3.05 2.57h31.54l-34.65 108.59c-10.74 33.62-31.35 56.92-59 56.92-5.55 0-10.12-.8-14.4-2.34 56.49-58.73 76.13-182.9 8.98-182.9-21.73 0-41.57 14.36-58.02 35.61 1.18-16.78-5.53-31.92-29.7-31.92-5.89 0-8.4.74-9.62 4.5l-30.18 95.44c-10.84 34.27-40.31 74.6-60.56 74.6-10.7 0-11.32-12.05-4.18-34.64l24.33-76.16c10.93-34.17 4.7-67.4-28.22-67.4-27.9 0-51.53 21.66-69.05 47.38 3.22-26.36-6.14-47.38-32.72-47.38-26.59 0-49.19 19.09-66.45 43.23 3.86-19.54-.87-39.54-28.64-39.54-5.88 0-8.42.74-9.61 4.5l-30.57 95.8c-10.83 33.9-41.18 74.22-60.2 74.22-10.71 0-11.32-12.06-4.19-34.65l41.95-131.35c2.06-6.46-2.4-8.55-11.95-8.55-20.32.06-35.36 10.03-42.63 25.65-3.63-17.1-13.53-29.57-33.53-29.57-97.52 0-158.28 213.18-70.43 213.18 23.08 0 44.04-16.52 61.08-39.95-.52 22.56 9.32 39.95 33.14 39.95 26.42 0 48.99-19.41 66.19-43.3-4.28 19.36-2.19 40.5 24.43 40.5 7.23 0 12.34-.57 13.76-5.04l27.25-85.4c15.34-48 43.75-84.97 63.81-84.97 10.7 0 11.32 12.06 4.18 34.66l-29.19 91.13c-9.06 28.41-4.66 49.66 21.96 49.66 7.23 0 12.34-.58 13.76-5.05l27.29-85.4c15.33-48 43.75-84.97 63.8-84.97 10.71 0 11.32 12.06 4.19 34.66l-24.34 76.15c-10.93 34.17-4.7 67.4 28.23 67.4 26.45 0 49.05-19.47 66.25-43.39l-22.6 71.43c-9.07 28.41-4.7 49.66 21.95 49.66 7.24 0 12.35-.58 13.76-5.05l31.73-100.32c3.95 16.14 13.85 27.68 33.1 27.68 16.56 0 32.06-6.14 45.94-16.37 8.36 3.86 17.71 6.43 27.49 6.43 19.15 0 36-7.8 50.98-26.8.48 20.95 10.48 36.74 33.14 36.74 35.46 0 64-35 81.94-68.8.22 36.33 16.87 68.8 56.28 68.8 54.84 0 90.49-59.99 100.84-117.08 15.14-4.82 30.35-13.56 43.75-26.55l-29.12 91.2c-9.07 28.41-4.66 49.66 21.95 49.66 7.24 0 12.35-.58 13.76-5.05l27.26-85.4c15.33-48 44.23-84.96 63.71-84.96 10.71 0 11.32 12.05 4.18 34.65l-18.19 56.7c-24.98 77.95 2.05 128.2 61.91 128.2 2.15 0 4.31-.1 6.46-.26v-21.06c-30.31-1.9-42.21-32.98-24.11-89.49l.16-.13ZM326.72 314.41c-40.73 0 5.34-149.57 53.43-149.57 8.8 0 14.98 6.59 14.98 21.18 0 29.25-32.37 128.4-68.4 128.4Zm515.06 4.37c-8.8 0-14.98-6.59-14.98-21.18 0-29.25 32.37-128.13 68.4-128.13 40.73 0-5.33 149.31-53.42 149.31ZM1157 322.1c-15.95 0-21.25-19.38-21.25-40.47 0-29.7 9.9-66.67 25.07-92.45 1.16 29.8 24.75 46.2 54.07 46.68-9.2 42.46-30.41 86.24-57.89 86.24Zm60.94-103.12c-20.99-.48-37.25-11.99-37.25-35.3 0-14.59 9.58-25.97 19.57-26 13.89 0 19.64 15.5 19.64 35.72 0 7.87-.67 16.55-1.96 25.58Z\"\n    />\n  </svg>\n);\n","import { createCpmComponentDefinition } from '@dx-ui/cpm-sdk';\nimport { Spacer } from '@dx-ui/osc-spacer';\nimport { LivSmartAccent } from './illustrations/livsmart-accent';\nimport { LivSmartFurniture } from './illustrations/livsmart-furniture';\nimport { EnterpriseFiligree } from './illustrations/enterprise-filigree';\nimport { HamptonSignature } from './illustrations/hampton-signature';\n\nexport default createCpmComponentDefinition(\n  'Illustration Block',\n\n  function mapComponentData({ data }) {\n    return data;\n  },\n\n  function IllustrationBlock({ componentParams }) {\n    if (componentParams.illustration) {\n      switch (componentParams.illustration) {\n        case 'ey-accent':\n          return (\n            <Spacer>\n              <LivSmartAccent />\n            </Spacer>\n          );\n\n        case 'ey-furniture':\n          return (\n            <Spacer>\n              <LivSmartFurniture />\n            </Spacer>\n          );\n\n        case 'hx-signature-default':\n          return (\n            <Spacer>\n              <HamptonSignature\n                backgroundColor=\"white\"\n                fillColor=\"#0047B5\"\n                testId=\"hampton-signature-default\"\n              />\n            </Spacer>\n          );\n\n        case 'hx-signature-light':\n          return (\n            <Spacer>\n              <HamptonSignature\n                backgroundColor=\"#BDD4E5\"\n                fillColor=\"#0047B5\"\n                testId=\"hampton-signature-light\"\n              />\n            </Spacer>\n          );\n\n        case 'hx-signature-dark':\n          return (\n            <Spacer>\n              <HamptonSignature\n                backgroundColor=\"#002666\"\n                fillColor=\"#0047B5\"\n                testId=\"hampton-signature-dark\"\n              />\n            </Spacer>\n          );\n\n        case 'ww-filigree-default':\n          return (\n            <Spacer styles={{ backgroundColor: '#F0E9E6' }}>\n              <EnterpriseFiligree\n                fillColor=\"#F0E9E6\"\n                opacity=\"0.1\"\n                testId=\"enterprise-filigree-default\"\n              />\n              <EnterpriseFiligree\n                fillColor=\"#F0E9E6\"\n                opacity=\"0.1\"\n                testId=\"enterprise-filigree-default\"\n              />\n              <EnterpriseFiligree\n                fillColor=\"#F0E9E6\"\n                opacity=\"0.1\"\n                testId=\"enterprise-filigree-default\"\n              />\n            </Spacer>\n          );\n\n        case 'ww-filigree-light':\n          return (\n            <Spacer styles={{ backgroundColor: '#F0E9E6' }}>\n              <EnterpriseFiligree\n                fillColor=\"#F0E9E6\"\n                opacity=\"0.35\"\n                testId=\"enterprise-filigree-light\"\n              />\n              <EnterpriseFiligree\n                fillColor=\"#F0E9E6\"\n                opacity=\"0.35\"\n                testId=\"enterprise-filigree-light\"\n              />\n              <EnterpriseFiligree\n                fillColor=\"#F0E9E6\"\n                opacity=\"0.35\"\n                testId=\"enterprise-filigree-light\"\n              />\n            </Spacer>\n          );\n\n        case 'ww-filigree-dark':\n          return (\n            <Spacer styles={{ backgroundColor: '#002F61' }}>\n              <EnterpriseFiligree\n                fillColor=\"#002F61\"\n                opacity=\"1\"\n                testId=\"enterprise-filigree-dark\"\n              />\n              <EnterpriseFiligree\n                fillColor=\"#002F61\"\n                opacity=\"1\"\n                testId=\"enterprise-filigree-dark\"\n              />\n              <EnterpriseFiligree\n                fillColor=\"#002F61\"\n                opacity=\"1\"\n                testId=\"enterprise-filigree-dark\"\n              />\n            </Spacer>\n          );\n\n        case 'none':\n          return null;\n\n        default:\n          return null;\n      }\n    }\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { DynamicGridWOM, DynamicGrid } from '@dx-ui/osc-dynamic-grids';\n\nimport { extractInstanceIndexFromId } from '../../utils/id-transformer';\nimport {\n  createCpmComponentDefinition,\n  useCreateManageContentButton,\n  selectFirstAssetWithAspectRatio,\n  selectLastAssetWithAspectRatio,\n} from '@dx-ui/cpm-sdk';\nimport { HamptonHexVisual } from '../FourXGrid/HamptonHexVisual';\nimport { sendReward } from '@dx-ui/framework-conductrics';\nimport { BrandComponentThemeInline } from '@dx-ui/osc-brands-wrappers';\nimport { useMetrics } from '../../Context';\n\nexport default createCpmComponentDefinition(\n  'Dynamic Grid',\n\n  function mapData({ data, componentParams: { display } }) {\n    const { link } = data;\n    let asset;\n    if (display === 'noModal') {\n      asset = selectFirstAssetWithAspectRatio('3x4', data.cpmAssets);\n    } else {\n      asset = selectFirstAssetWithAspectRatio('3x2', data.cpmAssets);\n    }\n    const modalImageUrl = selectLastAssetWithAspectRatio('16x9', data.cpmAssets)?.aspectRatios[\n      '16x9'\n    ].url;\n\n    const desktopDefinedImage = data?.cmsDefinedAspectRatioImages[0]?.desktop?.url;\n    const tabletDefinedImage = data?.cmsDefinedAspectRatioImages[0]?.tablet?.url;\n    const mobileDefinedImage = data?.cmsDefinedAspectRatioImages[0]?.mobile?.url;\n\n    return {\n      id: data.id ?? '',\n      captionData: asset?.caption\n        ? {\n            caption: asset?.caption ?? '',\n          }\n        : undefined,\n      imageUrl: desktopDefinedImage ?? asset?.aspectRatios['3x4']?.url ?? '',\n      tabletImageUrl: tabletDefinedImage ?? '',\n      mobileImageUrl: mobileDefinedImage ?? '',\n      imageAltTxt: asset?.altText ?? '',\n      headline: data.headline,\n      shortDescription: data.shortDescription,\n      link: link?.url ? link : undefined,\n      links: data.links,\n      itemTitle: data?.label ?? '',\n      modalImageUrl,\n    };\n  },\n\n  function DynamicGridCPM({ componentParams, items = [], listData, mappedPage: { brandCode } }) {\n    const metrics = useMetrics();\n    const createManageContentButton = useCreateManageContentButton();\n    const { display, gridColumns } = componentParams;\n    const isWA = brandCode === 'WA';\n\n    if (!listData) {\n      return null;\n    }\n\n    const { id, headline, description, links } = listData;\n\n    if (!items.length) {\n      return null;\n    }\n\n    const itemsWithManageContentButton = items.map((item) => ({\n      ...item,\n      cmsDocumentControl: createManageContentButton(item.$ref),\n    }));\n\n    const onViewItem = (selectedItemId: string) => {\n      const index = items.findIndex((item) => item.id === selectedItemId);\n      const item = items[index];\n\n      if (item?.experimentationConfiguration && item.experimentationConfiguration.goal) {\n        const val = Number(item.experimentationConfiguration.value);\n        sendReward(item.experimentationConfiguration.goal, Number.isFinite(val) ? val : undefined);\n      }\n\n      metrics.trackGridItemClick?.([\n        {\n          itemNumber: index + 1,\n          totalItems: items.length,\n          label: item?.itemTitle ?? '',\n          gridNumber: extractInstanceIndexFromId(id),\n          is4XGrid: true,\n        },\n      ]);\n    };\n\n    const listLink = links[0];\n    const hexEnabled =\n      brandCode === 'HP' && componentParams.backgroundIllustration === 'hx-hexagon';\n\n    if (display === 'noModal') {\n      return (\n        <BrandComponentThemeInline\n          componentClassName=\"fourXWOMGrid\"\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration ?? 'none',\n          }}\n        >\n          <DynamicGridWOM\n            textAlign={componentParams.listTextAlign}\n            imageAspectRatio={componentParams?.aspectRatioDesktop || '3:4'}\n            tabletImageAspectRatio={componentParams?.aspectRatioTablet || '3:4'}\n            mobileImageAspectRatio={componentParams?.aspectRatioMobile || '3:4'}\n            isAnimated={componentParams.animation}\n            listHeadline={headline ?? undefined}\n            listDescription={description ?? undefined}\n            id={id}\n            link={listLink ? listLink : undefined}\n            items={itemsWithManageContentButton}\n            brandComponentTheme={componentParams.theme}\n            columnCount={gridColumns}\n          />\n        </BrandComponentThemeInline>\n      );\n    } else {\n      return (\n        <BrandComponentThemeInline\n          componentClassName=\"fourXGrid\"\n          componentParams={componentParams}\n          brandCode={brandCode}\n          backgroundIllustration={{\n            isParallax: componentParams?.backgroundParallax,\n            variant: componentParams?.backgroundIllustration ?? 'none',\n          }}\n        >\n          <HamptonHexVisual theme={componentParams.theme ?? ''} enabled={hexEnabled}>\n            <DynamicGrid\n              textAlign={componentParams.listTextAlign}\n              listDescription={description ?? undefined}\n              listHeadline={headline ?? undefined}\n              id={id}\n              imageAspectRatio={componentParams?.aspectRatioDesktop || '3:2'}\n              tabletImageAspectRatio={componentParams?.aspectRatioTablet || '3:2'}\n              mobileImageAspectRatio={componentParams?.aspectRatioMobile || '3:2'}\n              items={itemsWithManageContentButton}\n              onViewItem={onViewItem}\n              brandComponentTheme={componentParams.theme}\n              isAnimated={isWA}\n              columnCount={gridColumns}\n              variant=\"card\"\n            />\n          </HamptonHexVisual>\n        </BrandComponentThemeInline>\n      );\n    }\n  }\n);\n","export { default } from './cpm-component-definition';\n","import { defaultPublicVars } from '@dx-ui/framework-env';\n\nexport const publicEnvVars = [\n  ...defaultPublicVars,\n  'BROWSER_DX_GQL_URI',\n  'CMS_BASE_URL',\n  'CONDUCTRICS_URI',\n  'DX_AUTH_APP_CUSTOMER_ID',\n  'DX_AUTOCOMPLETE_URI',\n  'ENABLE_BRANDS_SLUG',\n  'GLOBAL_PRIVACY_URL',\n  'HILTON_ASSETS_URI',\n  'IS_LIVE_MODE',\n  'PARTNER_FORGET_INFO_LINK',\n] as const;\n\nexport const namespaces = [\n  'common',\n  'cpm-mapping-shared',\n  'osc-accordion',\n  'osc-alert',\n  'osc-back-to-top',\n  'osc-brands-header',\n  'osc-brands-search',\n  'osc-calendar',\n  'osc-card-carousel',\n  'osc-carousel',\n  'osc-chip',\n  'osc-date-picker',\n  'osc-dialog',\n  'osc-dynamic-grids',\n  'osc-error-page',\n  'osc-filmstrip',\n  'osc-footer',\n  'osc-form',\n  'osc-gallery',\n  'osc-header',\n  'osc-hero-image',\n  'osc-hero-text-overlay',\n  'osc-info-popup',\n  'osc-join-form-form',\n  'osc-join-form-join',\n  'osc-join-modal-button',\n  'osc-language-selector',\n  'osc-link',\n  'osc-location',\n  'osc-login',\n  'osc-marketing',\n  'osc-marketing-brand-showcase',\n  'osc-marketing-dx-dialog-with-content',\n  'osc-marketing-dx-image-carousel',\n  'osc-marketing-dynamic-grid',\n  'osc-marketing-error',\n  'osc-marketing-half-and-half',\n  'osc-marketing-layout',\n  'osc-pagination',\n  'osc-rooms',\n  'osc-scroll-animation',\n  'osc-scrollable-tabs',\n  'osc-shop-form',\n  'osc-smb-profile-switcher',\n  'osc-special-rates',\n  'osc-speedbump',\n  'osc-stepper',\n  'osc-tooltip',\n  'osc-video-player',\n  'special-rates',\n];\n","import { useState, useEffect } from 'react';\n\n/**\n * Returns an array of segments IDs that should be used for targeting\n * when the `segmentIds` query param exists in the URL, otherwise\n * returns `undefined`.\n */\nexport function usePreviewSegmentsFromUrl() {\n  const [previewSegmentIds, setPreviewSegmentIds] = useState<string[]>([]);\n\n  // We need to check client side because targeting only runs on the client\n  useEffect(() => {\n    try {\n      const params = new URLSearchParams(window.location.search);\n      const segments = params.get('segmentIds');\n\n      if (segments) {\n        setPreviewSegmentIds(segments.split(','));\n      }\n    } catch {\n      // We don't need to handle errors\n    }\n  }, []);\n\n  return previewSegmentIds;\n}\n","export const Goals = {\n  SignInSuccess: 'g-IqzR2S0Ai5',\n  JoinHiltonHonorsTAB: 'g-2Mx3NVgKEo',\n  JoinForFreeCTA: 'g-YALuwfEhWZ',\n  EngagementWithVideoHONORS: 'g-R6YcyFiTIc',\n  HiltonHonorsAppTAB: 'g-ceePuT4jz0',\n  EngagementWithVideoAPP: 'g-eji8qd4d2v',\n  DownloadForFreeCTA: 'g-JvISPYafgq',\n  SignInCTA: 'g-330wZxWuoO',\n  HiltonGetaways: 'g-hilton-getaways',\n  FindAHotelClick: 'g-DD3G7VqYaV',\n  EditBrandSearchWidget: 'g-C6bnRUoR2d',\n} as const;\n","import BrandAlerts from './mapping/BrandAlerts';\nimport BrandCarousel from './mapping/BrandCarousel';\nimport BrandShowcase from './mapping/BrandShowcase';\nimport BrandVideo from './mapping/BrandVideo';\nimport Collage from './mapping/Collage';\nimport Editorial from './mapping/Editorial';\nimport Experimentation from './mapping/Experimentation';\nimport FourXGrid from './mapping/FourXGrid';\nimport FullWidthImage from './mapping/FullWidthImage';\nimport Gallery from './mapping/Gallery';\nimport Grid369 from './mapping/Grid369';\nimport HalfAndHalf from './mapping/HalfAndHalf';\nimport ImageHeadliner from './mapping/ImageHeadliner';\nimport MastheadImage from './mapping/MastheadImage';\nimport TabbedSection from './mapping/TabbedSection';\nimport TextBlock from './mapping/TextBlock';\nimport TextHighlight from './mapping/TextHighlight';\nimport VideoPoster from './mapping/VideoPoster';\nimport PatchworkGrid from './mapping/PatchworkGrid';\nimport Filmstrip from './mapping/Filmstrip';\nimport FullWidthMedia from './mapping/FullWidthMediaAndCopy';\nimport FullWidthMediaAndCopyOverlay from './mapping/FullWidthMediaAndCopyOverlay';\nimport Offset from './mapping/Offset';\nimport Accordion from './mapping/Accordion';\nimport IllustrationBlock from './mapping/IllustrationBlock';\nimport DynamicGrid from './mapping/DynamicGrid';\n\nexport type { AnalyticsTagging } from './types/analytics-tagging';\nexport * from './types/gql';\n\nexport * from './Context';\n\nexport { publicEnvVars, namespaces } from './utils/constants';\nexport { deduplicate } from './utils/deduplicate';\n\nexport { usePreviewSegmentsFromUrl } from './hooks/use-preview-segments-from-url';\n\nexport { Goals } from './utils/conductrics';\n\nexport {\n  BrandAlerts,\n  BrandCarousel,\n  BrandShowcase,\n  BrandVideo,\n  Collage,\n  Editorial,\n  Experimentation,\n  FourXGrid,\n  FullWidthImage,\n  Gallery,\n  Grid369,\n  HalfAndHalf,\n  ImageHeadliner,\n  MastheadImage,\n  TabbedSection,\n  TextBlock,\n  TextHighlight,\n  VideoPoster,\n  PatchworkGrid,\n  Filmstrip,\n  Offset,\n  Accordion,\n  IllustrationBlock,\n  FullWidthMedia,\n  FullWidthMediaAndCopyOverlay,\n  DynamicGrid,\n};\n\nexport const sharedMappingSpec = {\n  [BrandAlerts.cpmComponentName]: BrandAlerts,\n  [BrandCarousel.cpmComponentName]: BrandCarousel,\n  [BrandShowcase.cpmComponentName]: BrandShowcase,\n  [BrandVideo.cpmComponentName]: BrandVideo,\n  [Collage.cpmComponentName]: Collage,\n  [Editorial.cpmComponentName]: Editorial,\n  [Experimentation.cpmComponentName]: Experimentation,\n  [FourXGrid.cpmComponentName]: FourXGrid,\n  [FullWidthImage.cpmComponentName]: FullWidthImage,\n  [Gallery.cpmComponentName]: Gallery,\n  [Grid369.cpmComponentName]: Grid369,\n  [HalfAndHalf.cpmComponentName]: HalfAndHalf,\n  [ImageHeadliner.cpmComponentName]: ImageHeadliner,\n  [MastheadImage.cpmComponentName]: MastheadImage,\n  [TabbedSection.cpmComponentName]: TabbedSection,\n  [TextBlock.cpmComponentName]: TextBlock,\n  [TextHighlight.cpmComponentName]: TextHighlight,\n  [VideoPoster.cpmComponentName]: VideoPoster,\n  [PatchworkGrid.cpmComponentName]: PatchworkGrid,\n  [Filmstrip.cpmComponentName]: Filmstrip,\n  [Offset.cpmComponentName]: Offset,\n  [Accordion.cpmComponentName]: Accordion,\n  [IllustrationBlock.cpmComponentName]: IllustrationBlock,\n  [FullWidthMedia.cpmComponentName]: FullWidthMedia,\n  [FullWidthMediaAndCopyOverlay.cpmComponentName]: FullWidthMediaAndCopyOverlay,\n  [DynamicGrid.cpmComponentName]: DynamicGrid,\n};\n","import type * as React from 'react';\nimport { useState } from 'react';\nimport cx from 'classnames';\nimport * as Accordion from '@radix-ui/react-accordion';\nimport Icon from '@dx-ui/osc-icon';\nimport { useTranslation } from 'next-i18next';\n\nexport type InputProps = {\n  className?: string;\n  isDefaultOpen?: boolean;\n  header: string;\n  children: React.ReactNode;\n  'data-e2e': string;\n};\n\nexport function ExpanderMenu(props: InputProps) {\n  const { isDefaultOpen = false } = props;\n  const [isOpen, setIsOpen] = useState(isDefaultOpen);\n  const { i18n } = useTranslation();\n  const handleClick = () => setIsOpen((isOpen) => !isOpen);\n  const e2eCollapseIcon = props['data-e2e']\n    ? `${props['data-e2e']}CollapseIcon`\n    : 'expanderCollapseIcon';\n  const e2eExpandIcon = props['data-e2e'] ? `${props['data-e2e']}ExpandIcon` : 'expanderExpandIcon';\n\n  return (\n    <Accordion.Root dir={i18n.dir()} type=\"multiple\">\n      <Accordion.Item value={props.header}>\n        <Accordion.Trigger asChild>\n          <button\n            aria-expanded={isOpen}\n            className=\"text-text mb-1 flex w-full cursor-pointer items-center px-4 py-1 font-sans text-base font-bold\"\n            data-e2e={props['data-e2e'] || 'expanderRowLabel'}\n            onClick={handleClick}\n            type=\"button\"\n          >\n            <span className=\"me-3\" data-e2e={isOpen ? e2eCollapseIcon : e2eExpandIcon}>\n              <Icon\n                className={cx({ 'text-primary': isOpen })}\n                name={isOpen ? 'close' : 'menu'}\n                size=\"xl\"\n                wrapper=\"span\"\n                data-e2e={isOpen ? e2eCollapseIcon : e2eExpandIcon}\n              />\n            </span>\n            <span className=\"inline-block\">{props.header}</span>\n          </button>\n        </Accordion.Trigger>\n        <Accordion.Content\n          className=\"bg-bg-alt divide-border flex flex-col divide-y-2 lg:hidden\"\n          data-e2e=\"expanded\"\n        >\n          {props.children}\n        </Accordion.Content>\n      </Accordion.Item>\n    </Accordion.Root>\n  );\n}\n","import type * as React from 'react';\nimport { Children } from 'react';\nimport { Markdown } from '@dx-ui/osc-markdown';\nimport { Link } from '@dx-ui/osc-link';\nimport type { Rule } from '@dx-ui/utilities-url-config';\nimport { useTranslation } from 'next-i18next';\nimport cx from 'classnames';\n\nimport type {\n  FaqQuestionSectionData,\n  FAQTableOfContentsData,\n  ParsedContentSection,\n  TableOfContentsData,\n} from './types';\nimport { ExpanderMenu } from '../../components/ExpanderMenu';\nimport { env } from '@dx-ui/framework-env';\n\n/**\n  When Links have no text they should not be rendered, so that AXE doesn't complain\n*/\nfunction LinkPossiblyWithoutText(props: React.ComponentProps<typeof HonorsMarkdownLink>) {\n  if (Children.count(props.children) === 0) {\n    return null;\n  }\n\n  return <HonorsMarkdownLink {...props} />;\n}\n\nconst overrides = {\n  a: {\n    // Override the link component to remove the SpeedBump. OneLink handles this at their end.\n    component: LinkPossiblyWithoutText,\n    props: {\n      className: 'text-base text-primary hover:text-primary-alt',\n    },\n  },\n  p: {\n    props: {\n      className: 'mb-4',\n    },\n  },\n};\n\nexport function ContentBlocks({\n  contentBlocks,\n  languageCode,\n}: {\n  contentBlocks: ParsedContentSection[];\n  languageCode: string;\n}) {\n  const markdownProps = {\n    language: languageCode,\n    origin: new URL(env('OHW_BASE_URL')).origin,\n    rule: undefined,\n  };\n\n  return contentBlocks.map((block) => {\n    switch (block.kind) {\n      case 'description':\n        return (\n          <Markdown\n            key={block.content}\n            {...markdownProps}\n            options={{\n              wrapper: ParagraphWrapper,\n              forceWrapper: true,\n              overrides,\n            }}\n          >\n            {block.content}\n          </Markdown>\n        );\n      case 'headingLink':\n        return (\n          <div key={block.data} className=\"text-xl font-bold\">\n            <Markdown\n              {...markdownProps}\n              options={{\n                overrides: {\n                  a: HeadingLink,\n                  h2: {\n                    props: {\n                      id: block.id,\n                    },\n                  },\n                },\n                wrapper: 'div',\n                forceWrapper: true,\n              }}\n            >\n              {block.data}\n            </Markdown>\n          </div>\n        );\n      case 'heading':\n        return (\n          <div key={block.content} className=\"mb-2 text-xl font-bold\">\n            <Markdown {...markdownProps} data-testid=\"TextBlockHeading\">\n              {block.content}\n            </Markdown>\n          </div>\n        );\n      case 'orderedList':\n        return (\n          <ol\n            key={`ol_${block.content[0]}`}\n            className=\"ms-4 list-decimal\"\n            data-testid=\"TextBlockOrderedList\"\n          >\n            {block.content.map((listItem) => (\n              <Markdown\n                key={listItem}\n                {...markdownProps}\n                options={{ overrides, wrapper: ListItem, forceWrapper: true }}\n              >\n                {listItem}\n              </Markdown>\n            ))}\n          </ol>\n        );\n      case 'unorderedList':\n        return (\n          <ul\n            key={`ul_${block.content[0]}`}\n            className=\"ms-4 list-disc\"\n            data-testid=\"TextBlockUnorderedList\"\n          >\n            {block.content.map((listItem) => (\n              <Markdown\n                key={listItem}\n                {...markdownProps}\n                options={{ overrides, wrapper: ListItem, forceWrapper: true }}\n              >\n                {listItem}\n              </Markdown>\n            ))}\n          </ul>\n        );\n      case 'cta':\n        return (\n          <div key={block.content.url} className=\"ms-4 mt-2 text-left xl:mt-4\">\n            <Link\n              className=\"btn btn-primary\"\n              underline={false}\n              url={block.content.url}\n              adaDescription={block.content.adaDescription}\n              isNewWindow={block.content.isNewWindow}\n            >\n              {block.content.label}\n            </Link>\n          </div>\n        );\n      case 'subtitle':\n        return (\n          <h2 key={block.data} className=\"mb-2 text-lg font-bold\" data-testid=\"TextBlockSubtitle\">\n            {block.data}\n          </h2>\n        );\n      case 'title':\n        return (\n          <div key={block.data} className=\"my-4\" data-testid=\"TextBlockTitle\">\n            <h1 className=\"font-headline text-3xl\">{block.data}</h1>\n          </div>\n        );\n      case 'tableOfContents':\n        return <TableOfContents key=\"table-of-contents\" linkGroups={block.data} />;\n      case 'faqChooseTopic':\n        return <FaqChooseATopic key=\"choose-a-topic\" links={block.data} />;\n      case 'faqQuestionSection':\n        return (\n          <FaqQuestionSection\n            key={block.data.id || block.data.questions?.[0]?.question}\n            data={block.data}\n            markdownProps={markdownProps}\n          />\n        );\n      default:\n        return null;\n    }\n  });\n}\n\nfunction FaqAnswerDescriptionWrapper({ children }: React.PropsWithChildren<unknown>) {\n  return (\n    <div className=\"mb-4 text-base\" data-testid=\"FaqAnswerDescription\">\n      {children}\n    </div>\n  );\n}\n\nfunction FaqChooseATopic({ links }: { links: FAQTableOfContentsData }) {\n  const [t] = useTranslation('cpm-mapping-honors');\n\n  const navMenu = links.map((item, index) => (\n    <li\n      key={item.id}\n      className={cx('border-border-alt px-7 py-2 lg:px-2 lg:py-0', {\n        'border-b-2 lg:border-b-0': index < links.length - 1,\n        'lg:border-s-2': index !== 0 && index !== links.length,\n      })}\n    >\n      <Link\n        url={`#${item.id}`}\n        className=\"text-primary hover:text-primary-alt text-base no-underline\"\n      >\n        {item.name}\n      </Link>\n    </li>\n  ));\n\n  return (\n    <section className=\"bg-bg-alt w-full\" data-testid=\"TextBlockChooseATopic\">\n      <div className=\"hidden md:block\">\n        <div className=\"hidden py-5 text-center lg:block\">\n          <p className=\"mb-1 text-lg font-bold\">{t('topicHeaderTxt')}</p>\n          <nav className=\"w-full\">\n            <ul className=\"flex w-full list-none justify-center\">{navMenu}</ul>\n          </nav>\n        </div>\n      </div>\n      <div className=\"mb-4 lg:hidden\">\n        <ExpanderMenu\n          header={t('topicHeaderTxt')}\n          data-e2e=\"accessibleFeatures\"\n          aria-labelledby=\"label-features\"\n        >\n          <ul>\n            {links.map((link) => (\n              <li className=\"border-border-alt border-b-2 px-7 py-2\" key={link.id}>\n                <Link\n                  url={`#${link.id}`}\n                  className=\"text-primary hover:text-primary-alt inline-block text-pretty text-base no-underline\"\n                >\n                  {link.name}\n                </Link>\n              </li>\n            ))}\n          </ul>\n        </ExpanderMenu>\n      </div>\n    </section>\n  );\n}\n\nfunction FaqQuestionSection({\n  data,\n  markdownProps,\n}: {\n  data: FaqQuestionSectionData;\n  markdownProps: {\n    language: string;\n    origin: string;\n    rule: undefined;\n  };\n}) {\n  const hasSectionHeading = data?.name && data?.id;\n  // Only render a <section> when there is a heading\n  const QuestionWrapper = hasSectionHeading ? 'section' : 'div';\n  const QuestionHeading = hasSectionHeading ? 'h3' : 'h2';\n\n  return (\n    <QuestionWrapper\n      className=\"my-4\"\n      key={data.id}\n      data-testid={`TextBlockQuestionSection${data.id ? `-${data.id}` : ''}`}\n    >\n      {hasSectionHeading ? (\n        <h2 id={data.id} className=\"border-border border-b-2 text-xl font-bold lg:py-1\">\n          {data.name}\n        </h2>\n      ) : null}\n      {data.questions.map(({ id, question, paragraphs, orderedList, unOrderedList, links }) => (\n        <article\n          key={id}\n          className={cx('mt-4 sm:mt-5', {\n            'sm:ps-7': !hasSectionHeading,\n          })}\n        >\n          <QuestionHeading\n            data-testid=\"TextBlockQuestionSectionQuestionHeading\"\n            className={cx('mb-2 font-bold', {\n              'text-hilton-alt text-xl font-bold': hasSectionHeading,\n              'text-lg': !hasSectionHeading,\n            })}\n          >\n            {question}\n          </QuestionHeading>\n          <div\n            className={cx({\n              'sm:ps-7': hasSectionHeading,\n            })}\n          >\n            {paragraphs?.map((answer) => (\n              <Markdown\n                key={answer}\n                {...markdownProps}\n                options={{ wrapper: FaqAnswerDescriptionWrapper, forceWrapper: true, overrides }}\n              >\n                {answer}\n              </Markdown>\n            ))}\n            {orderedList?.length ? (\n              <ol className=\"list-decimal\">\n                {orderedList.map((item) => (\n                  <Markdown\n                    key={item}\n                    {...markdownProps}\n                    options={{\n                      wrapper: ListItem,\n                      forceWrapper: true,\n                      overrides,\n                    }}\n                  >\n                    {item}\n                  </Markdown>\n                ))}\n              </ol>\n            ) : null}\n            {unOrderedList?.length ? (\n              <ul className=\"list-disc\">\n                {unOrderedList.map((item) => (\n                  <Markdown\n                    key={item}\n                    {...markdownProps}\n                    options={{\n                      wrapper: ListItem,\n                      forceWrapper: true,\n                      overrides,\n                    }}\n                  >\n                    {item}\n                  </Markdown>\n                ))}\n              </ul>\n            ) : null}\n            {links?.map((link) => (\n              <div key={link.linkUrl}>\n                <Link url={`${link.linkUrl}`} adaDescription={link.adaDescription ?? undefined}>\n                  {link.linkLabel}\n                </Link>\n              </div>\n            ))}\n          </div>\n        </article>\n      ))}\n    </QuestionWrapper>\n  );\n}\n\nfunction TableOfContents({ linkGroups }: { linkGroups: TableOfContentsData[] }) {\n  const [t] = useTranslation('cpm-mapping-honors');\n\n  return (\n    <div className=\"bg-bg-alt my-4 p-4 md:flex\" key=\"toc\" data-testid=\"TextBlockTableOfContents\">\n      {linkGroups.map((links, linksIndex) => {\n        return (\n          <div key={links[0]?.name} className=\"md:me-4 md:w-1/2\">\n            {linksIndex === 0 ? <div className=\"font-bold\">{t('topicHeaderTxt')}</div> : null}\n            {links.map((link) => (\n              <div key={link.name}>\n                <Link url={`#${link.id}`} className=\"text-primary hover:bg-bg\">\n                  {link.name}\n                </Link>\n              </div>\n            ))}\n          </div>\n        );\n      })}\n    </div>\n  );\n}\n\nfunction ParagraphWrapper({ children }: React.PropsWithChildren<unknown>) {\n  return (\n    <div className=\"mb-4 ms-4\" data-testid=\"TextBlockParagraphWrapper\">\n      {children}\n    </div>\n  );\n}\n\nfunction ListItem({ children }: React.PropsWithChildren<unknown>) {\n  return (\n    <li className=\"p-2\" data-testid=\"TextBlockListItem\">\n      {children}\n    </li>\n  );\n}\n\nfunction HeadingLink({ children, ...props }: { children: React.ReactNode; href: string }) {\n  return (\n    <span id={props?.href?.slice(1)} data-testid=\"TextBlockHeadingLink\">\n      {children}\n    </span>\n  );\n}\n\ntype MarkdownLink = {\n  language: string;\n  origin: string;\n  rule: Rule;\n  isTargetBlank?: boolean;\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\n\nfunction HonorsMarkdownLink({ children, href, ...props }: MarkdownLink) {\n  const url = href;\n\n  if (!url) {\n    return null;\n  }\n\n  const linkProps = { ...props };\n\n  if (url.charAt(0) !== '#') {\n    const linkUrl = new URL(url, 'https://www.hilton.com');\n\n    // Open external links in a new tab\n    if (linkUrl.origin !== linkProps.origin) {\n      linkProps.target = '_blank';\n    }\n  }\n\n  return (\n    <Link {...linkProps} url={url}>\n      {children}\n    </Link>\n  );\n}\n","import type { CpmMappingFunctionInput, FaqData } from '@dx-ui/cpm-sdk';\nimport { compiler } from 'markdown-to-jsx';\n\nimport type { ParsedContentSection, TableOfContentsData, FAQTableOfContentsData } from './types';\n\ntype MappingData = CpmMappingFunctionInput<'Text Component'>['data'];\n\nexport function mapStory(data: MappingData) {\n  const mappedContentBlocks = (data?.contentBlock ?? []).map(\n    (section): ParsedContentSection | null => {\n      if (section?.heading) {\n        return { kind: 'heading', content: section.heading };\n      }\n\n      if (section?.description) {\n        return { kind: 'description', content: section.description };\n      }\n\n      if (section?.unorderedList) {\n        return { kind: 'unorderedList', content: section.unorderedList };\n      }\n\n      if (section?.orderedList) {\n        return { kind: 'orderedList', content: section.orderedList };\n      }\n\n      return null;\n    }\n  );\n\n  const link = data.links[0];\n  if (link) {\n    mappedContentBlocks.push({\n      kind: 'cta',\n      content: link,\n    });\n  }\n\n  return mappedContentBlocks;\n}\n\nexport function mapPolicy(data: MappingData) {\n  const mappedContentBlocks = (data?.contentBlock ?? []).map(\n    (section): ParsedContentSection | null => {\n      if (section?.heading) {\n        return { kind: 'heading', content: section.heading };\n      }\n\n      if (section?.description) {\n        return { kind: 'description', content: section.description };\n      }\n\n      if (section?.unorderedList) {\n        return { kind: 'unorderedList', content: section.unorderedList };\n      }\n\n      if (section?.orderedList) {\n        return { kind: 'orderedList', content: section.orderedList };\n      }\n\n      return null;\n    }\n  );\n\n  const link = data.links[0];\n  if (link) {\n    mappedContentBlocks.push({\n      kind: 'cta',\n      content: link,\n    });\n  }\n\n  if (data.longDescription) {\n    mappedContentBlocks.unshift({\n      kind: 'description',\n      content: data.longDescription,\n    });\n  }\n\n  if (data.shortDescription) {\n    mappedContentBlocks.unshift({\n      kind: 'subtitle',\n      data: data.shortDescription,\n    });\n  }\n\n  if (data.name) {\n    mappedContentBlocks.unshift({\n      kind: 'title',\n      data: data.name,\n    });\n  }\n\n  return mappedContentBlocks;\n}\n\nexport function mapPolicyTermsAndConditions(data: MappingData) {\n  const tableOfContents: TableOfContentsData = [];\n\n  const mappedContentBlocks: Array<ParsedContentSection | null> = (data?.contentBlock ?? []).map(\n    (section): ParsedContentSection | null => {\n      if (section?.heading) {\n        const isHeadingLevelTwo = section.heading.startsWith('## ');\n\n        if (isHeadingLevelTwo) {\n          const heading = compiler(section?.heading);\n          const id = heading.props.id;\n          const name = heading.props.children?.[0];\n\n          if (id && name) {\n            tableOfContents.push({ id, name });\n          }\n\n          return { kind: 'headingLink', id, data: section.heading };\n        }\n\n        return { kind: 'heading', content: section.heading };\n      }\n\n      if (section?.description) {\n        return { kind: 'description', content: section.description };\n      }\n\n      if (section?.orderedList) {\n        return { kind: 'orderedList', content: section.orderedList };\n      }\n\n      if (section?.unorderedList) {\n        return { kind: 'unorderedList', content: section.unorderedList };\n      }\n\n      return null;\n    }\n  );\n\n  if (tableOfContents.length) {\n    const half = tableOfContents.length / 2;\n    mappedContentBlocks.unshift({\n      kind: 'tableOfContents',\n      // Data needs to be split into two columns for UI\n      data: [tableOfContents.slice(0, half), tableOfContents.slice(half, tableOfContents.length)],\n    });\n  }\n\n  if (data.longDescription) {\n    mappedContentBlocks.unshift({\n      kind: 'description',\n      content: data.longDescription,\n    });\n  }\n\n  if (data.shortDescription) {\n    mappedContentBlocks.unshift({\n      kind: 'subtitle',\n      data: data.shortDescription,\n    });\n  }\n\n  if (data.name) {\n    mappedContentBlocks.unshift({\n      kind: 'title',\n      data: data.name,\n    });\n  }\n\n  return mappedContentBlocks;\n}\n\nexport function mapFaq(data: FaqData) {\n  const chooseATopic: FAQTableOfContentsData = [];\n  const mappedContentBlocks: ParsedContentSection[] = [];\n\n  data.subTopic?.forEach(({ subTopicName, faq }) => {\n    const name = subTopicName?.[0] ?? '';\n    const id = name.toLowerCase().replace(/\\W/g, '-');\n\n    if (name && id) {\n      chooseATopic.push({\n        id,\n        name,\n      });\n    }\n\n    mappedContentBlocks.push({\n      kind: 'faqQuestionSection',\n      data: {\n        id,\n        name,\n        questions:\n          faq?.map(\n            (\n              { question, answerParagraph, answerOrderedList, answerUnOrderedList, link },\n              index\n            ) => ({\n              id: `${index}`,\n              question: question ?? '',\n              paragraphs: answerParagraph ?? [],\n              orderedList: answerOrderedList ?? [],\n              unOrderedList: answerUnOrderedList ?? [],\n              links: link ?? [],\n              link: undefined,\n            })\n          ) ?? [],\n      },\n    });\n  });\n\n  if (chooseATopic.length) {\n    mappedContentBlocks.unshift({\n      kind: 'faqChooseTopic',\n      data: chooseATopic,\n    });\n  }\n\n  if (data.title) {\n    mappedContentBlocks.unshift({\n      kind: 'title',\n      data: data.title,\n    });\n  }\n\n  return mappedContentBlocks;\n}\n","import { CpmMappingError, createCpmComponentDefinition, type FaqData } from '@dx-ui/cpm-sdk';\nimport cx from 'classnames';\n\nimport type { ParsedContentSection } from './types';\nimport { ContentBlocks } from './ContentBlocks';\nimport { mapFaq, mapPolicyTermsAndConditions, mapPolicy, mapStory } from './mappings';\nimport { TextBlock as SharedTextBlock } from '@dx-ui/cpm-mapping-shared';\n\nexport default createCpmComponentDefinition(\n  'Text Component',\n\n  function mapData(input) {\n    const { data, cmsDocumentType } = input;\n\n    if (data.markdownEditor) {\n      if (cmsDocumentType === 'Story') {\n        // In this case we can reused the shared TextBlock impl.\n        // This has no special honors logic or layout, as it is a new way of authoring which no\n        // existing pages use\n        return SharedTextBlock.mapData(input);\n      }\n\n      throw new CpmMappingError('Can only map markdown on stories');\n    } else {\n      let mappedContentBlocks: (ParsedContentSection | null)[] = [];\n\n      if (cmsDocumentType === 'Faq' && isFaqDocument(data)) {\n        mappedContentBlocks = mapFaq(data);\n      }\n\n      if (cmsDocumentType === 'Policy') {\n        if (data.type === 'termsAndConditions') {\n          mappedContentBlocks = mapPolicyTermsAndConditions(data);\n        } else {\n          mappedContentBlocks = mapPolicy(data);\n        }\n      }\n\n      if (cmsDocumentType === 'Story') {\n        mappedContentBlocks = mapStory(data);\n      }\n\n      return {\n        cmsDocumentType,\n        $ref: data.ref?.$ref,\n        segmentIds: data.segmentIds,\n        experimentationConfiguration: data.experimentationConfiguration,\n        links: data.links,\n        blocks: mappedContentBlocks.filter((section): section is ParsedContentSection =>\n          Boolean(section)\n        ),\n      };\n    }\n  },\n\n  function TextBlockCpm(props) {\n    const {\n      items = [],\n      componentParams: { textAlign },\n      mappedPage: { languageCode },\n    } = props;\n\n    const data = items[0];\n\n    if (!data) {\n      return null;\n    }\n\n    if ('markdown' in data) {\n      return <SharedTextBlock.component {...props} items={[data]} keyedItems={{ '': data }} />;\n    }\n\n    if ('blocks' in data) {\n      if (!items.length || !data?.blocks?.length) {\n        return null;\n      }\n\n      return (\n        <div\n          className={cx('container', {\n            'text-end': textAlign === 'right',\n            'text-start': textAlign === 'left',\n            'text-center': textAlign === 'center',\n          })}\n        >\n          <ContentBlocks contentBlocks={data.blocks} languageCode={languageCode} />\n        </div>\n      );\n    }\n  }\n);\n\nfunction isFaqDocument(data: { contentType?: string }): data is FaqData {\n  return data?.contentType === 'dxcms:Faq';\n}\n","import type { CpmClientBundle } from '@dx-ui/cpm-sdk';\nimport { generateCpmAppInterface } from '@dx-ui/cpm-sdk';\nimport { sharedMappingSpec, namespaces as sharedNamespaces } from '@dx-ui/cpm-mapping-shared';\n\nimport TextBlock from './mapping/TextBlock';\n\nexport { TextBlock };\n\nexport const namespaces = [...sharedNamespaces, 'cpm-mapping-honors'];\n\nexport const mappingSpec = {\n  ...sharedMappingSpec,\n  [TextBlock.cpmComponentName]: TextBlock,\n};\n\nexport const { fetchServerCpmPage: fetchServerPage, CpmRenderer } =\n  generateCpmAppInterface(mappingSpec);\n\nexport type CpmServerBundle = Exclude<Awaited<ReturnType<typeof fetchServerPage>>, null>;\n\nexport type CpmData = CpmServerBundle | CpmClientBundle;\n","import { PreviewSegmentsContextProvider } from '@dx-ui/cpm-sdk';\nimport { FeatureTogglesContext, MetricsContext } from '@dx-ui/cpm-mapping-shared';\n\nimport type { CpmData } from '../generatedCpmInterface';\nimport { CpmRenderer } from '../generatedCpmInterface';\n\ninterface HonorsCpmPageProps {\n  cpmData: CpmData;\n}\n\nexport function CpmPage({ cpmData }: HonorsCpmPageProps) {\n  // We only need to render the main/body content\n  return (\n    <MetricsContext.Provider value={{}}>\n      <FeatureTogglesContext.Provider value={[]}>\n        <PreviewSegmentsContextProvider value={[]}>\n          <CpmRenderer sectionNames={['main']} cpmData={cpmData} mappingName=\"Honors\">\n            {({ main }) => main}\n          </CpmRenderer>\n        </PreviewSegmentsContextProvider>\n      </FeatureTogglesContext.Provider>\n    </MetricsContext.Provider>\n  );\n}\n","import type { CpmData } from '../generatedCpmInterface';\nimport { CpmRenderer } from '../generatedCpmInterface';\n\ninterface HonorsCpmPageProps {\n  cpmData: CpmData;\n}\n\nexport function CpmPartialsPage({ cpmData }: HonorsCpmPageProps) {\n  return (\n    <CpmRenderer\n      sectionNames={['maintop', 'main', 'mainbottom']}\n      cpmData={cpmData}\n      mappingName=\"Honors\"\n    >\n      {({ maintop, main, mainbottom }) => (\n        <>\n          <div>\n            <div>top</div>\n            {maintop}\n          </div>\n          <div>\n            <div>middle</div>\n            {main}\n          </div>\n          <div>\n            <div>bottom</div>\n            {mainbottom}\n          </div>\n        </>\n      )}\n    </CpmRenderer>\n  );\n}\n","import { allEnv } from '@dx-ui/framework-env';\n\nexport function getQueryProviderProps() {\n  const env = allEnv();\n  return {\n    appId: env.DX_AUTH_API_CUSTOMER_APP_ID,\n    incompleteLoggingEnabled: env.RUMCS_CAPTURE_CUSTOM_ERRORS === 'enabled',\n    gqlEndpoints: {\n      browser: env.DX_GRAPHQL_CLIENT_URI,\n      server: process.env.DX_GRAPHQL_SERVER_URI as string,\n    },\n    authEndpoints: {\n      browser: env.DX_AUTH_API_CLIENT_URI,\n      server: process.env.DX_AUTH_API_SERVER_URI as string,\n    },\n  };\n}\n","export * from './lib/react-query-env-vars';\n","import { fetchServerPage } from '../generatedCpmInterface';\nimport { getQueryProviderProps } from '@dx-ui/framework-react-query-env-vars';\nimport { getServerSideClients } from '@dx-ui/framework-react-query';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type { OutgoingMessage } from 'http';\nimport { getOneLinkProps, serverSideOneLinkConfig } from '@dx-ui/framework-i18n';\nimport { getTaggingValuesFromCpmAnalytics } from '@dx-ui/cpm-sdk';\nimport { GraphError } from '@dx-ui/types-graphql';\n\nconst DEFAULT_LANGUAGE = 'en';\nconst ONE_LINK_DX_GUESTS_APP_NAME = 'dx_guests_app';\n\nexport function makeCpmHonorsQueryClient(res: OutgoingMessage) {\n  const queryClientConfig = getQueryProviderProps();\n  const { queryClient } = getServerSideClients({\n    ...queryClientConfig,\n    appName: ONE_LINK_DX_GUESTS_APP_NAME,\n    response: res,\n  });\n\n  return queryClient;\n}\n\nexport async function fetchServerCpmPage({\n  contentPath,\n  localeCode,\n  pathname,\n  res,\n  queryClient: queryClientProp,\n}: {\n  contentPath: string;\n  localeCode: string;\n  pathname: string;\n  res: OutgoingMessage;\n  queryClient?: QueryClient;\n}) {\n  const queryClient = queryClientProp || makeCpmHonorsQueryClient(res);\n\n  const oneLinkConfig = await serverSideOneLinkConfig(queryClient);\n  const { sstLocale, ...oneLinkProps } = getOneLinkProps(\n    localeCode,\n    ONE_LINK_DX_GUESTS_APP_NAME,\n    pathname,\n    oneLinkConfig\n  );\n  const { isOneLink } = oneLinkProps;\n\n  if (!isOneLink && localeCode !== DEFAULT_LANGUAGE) {\n    return {\n      cpmData: null,\n      localeCode,\n      oneLinkConfig: oneLinkProps.oneLinkConfig,\n      queryClient,\n    };\n  }\n\n  const page = {\n    cpmData: null,\n    localeCode: sstLocale,\n    oneLinkConfig: oneLinkProps.oneLinkConfig,\n    queryClient,\n  };\n\n  // Fallback to fetching \"en\" if the alternate locale 404s\n  const locales =\n    localeCode !== DEFAULT_LANGUAGE ? [localeCode, DEFAULT_LANGUAGE] : [DEFAULT_LANGUAGE];\n\n  for (const locale of locales) {\n    const result = await fetchServerPage(\n      queryClient,\n      contentPath,\n      locale,\n      pathname,\n      ['main'],\n      getTaggingValuesFromCpmAnalytics\n    )\n      .then((cpmData) => ({\n        ...page,\n        cpmData,\n      }))\n      .catch((error: GraphError) => {\n        if (is404Error(error)) {\n          return page;\n        }\n\n        throw error;\n      });\n\n    if (result.cpmData !== null) {\n      return result;\n    }\n  }\n\n  return page;\n}\n\nfunction is404Error(error: GraphError) {\n  return (\n    error instanceof GraphError &&\n    Array.isArray(error.graphQLErrors) &&\n    error.graphQLErrors[0]?.message === 'Not Found'\n  );\n}\n","import type { AnalyticsTagging } from '@dx-ui/cpm-sdk';\nexport type { CmsPageModelQuery } from '@dx-ui/cpm-sdk';\nexport { CpmPage } from './components/CpmPage';\nexport { CpmPartialsPage } from './components/CpmPartials';\nexport { fetchServerCpmPage, makeCpmHonorsQueryClient } from './utils/fetch-server-cpm-page';\nexport { publicEnvVars } from './utils/constants';\nexport type { CpmData } from './generatedCpmInterface';\nexport { TextBlock, namespaces } from './generatedCpmInterface';\n\nexport function mapAnalyticsToMetrics(analyticsTagging: AnalyticsTagging) {\n  return {\n    trackingData: {\n      pageView: analyticsTagging.trackEventType || 'honorsPageView',\n      pageData: {\n        isCmsPage: true,\n        primaryCategory: analyticsTagging.primaryCategory ?? '',\n        pageType: analyticsTagging.adobePageType ?? '',\n        pageDetail: [\n          analyticsTagging.pageDetailOne,\n          analyticsTagging.pageDetailTwo,\n          analyticsTagging.pageDetailThree,\n        ],\n      },\n    },\n  };\n}\n","import { useAuth } from '@dx-ui/framework-auth-provider';\nimport { logError } from '@dx-ui/framework-logger';\nimport { useRouter } from 'next/router';\nimport { useEffect } from 'react';\n\nimport { useLanguage } from '../../hooks';\n\nconst authenticatedRedirectPaths = {\n  '/hilton-honors/points/': '/hilton-honors/guest/points/',\n};\n\nexport function CpmRedirectsForAuthenticatedUser() {\n  const { isAuthenticated } = useAuth();\n  const language = useLanguage();\n  const router = useRouter();\n\n  useEffect(() => {\n    const redirectTo = authenticatedRedirectPaths[router.asPath];\n\n    if (router.isReady && isAuthenticated && redirectTo) {\n      router\n        .push(`/${language}${redirectTo}`)\n        .catch((err) => logError(`Error redirecting on client to ${redirectTo}`, err));\n    }\n  }, [isAuthenticated, language, router]);\n\n  return null;\n}\n","import { deduplicate } from '@dx-ui/cpm-mapping-shared';\nimport type { CpmData } from '@dx-ui/cpm-mapping-honors';\nimport {\n  CpmPage,\n  fetchServerCpmPage,\n  mapAnalyticsToMetrics,\n  namespaces,\n} from '@dx-ui/cpm-mapping-honors';\n\nimport { CpmRedirectsForAuthenticatedUser } from '../components/CpmRedirects/CpmRedirects';\nimport { Head } from '../components/Head/Head';\nimport { GLOBAL_RESOURCE_BUNDLES } from '../utils/constants/global-resource-bundles';\nimport { serverSideProps } from '../utils/helpers/serverSideProps';\n\nexport const Cpm = ({ cpmData }: { cpmData: CpmData }) => {\n  const { seo } = cpmData.mappedPage;\n\n  return (\n    <>\n      <CpmRedirectsForAuthenticatedUser />\n      <Head\n        title={seo.pageTitle || ''}\n        description={seo.metaDescription || ''}\n        keywords={seo.metaKeywords || ''}\n      />\n      <CpmPage cpmData={cpmData} />\n    </>\n  );\n};\n\nexport default Cpm;\n\nexport const getServerSideProps = (async (context) => {\n  const { locale, query, req, res } = context;\n  const { cpmData, queryClient } = await fetchServerCpmPage({\n    contentPath: req.path,\n    localeCode: query.content ? query.content.toString() : locale,\n    pathname: req.path,\n    res,\n  });\n\n  if (!cpmData) {\n    return { notFound: true };\n  }\n\n  return serverSideProps({\n    queryClient,\n    context,\n    pageProps: {\n      cpmData,\n      metrics: mapAnalyticsToMetrics(cpmData.mappedPage.analyticsTagging),\n    },\n    namespaces: deduplicate<string>([...GLOBAL_RESOURCE_BUNDLES, ...namespaces]),\n  });\n}) satisfies GetServerSideProps;\n","import * as React from 'react';\nimport * as RadixAccordion from '@radix-ui/react-accordion';\nimport { useTranslation } from 'next-i18next';\nimport cx from 'classnames';\nimport Icon from '@dx-ui/osc-icon';\nimport { getLanguageDirection } from '@dx-ui/utilities-get-language-direction';\nimport { useRouter } from 'next/router';\n\nexport type HeadingLevel = 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport type Item = {\n  /**\n   * Content that will be displayed when the accordion is expanded\n   */\n  content: React.ReactNode;\n  /** Trigger text to display hidden content\n   *\n   * Defaults to “Open”\n   */\n  collapsedButtonLabel?: string | React.ReactNode;\n  /** Screen-reader only trigger text to display hidden content\n   */\n  collapsedButtonAccessibleLabel?: string;\n  /**\n   * Applies to Accordion when it is not expanded\n   */\n  collapsedClassName?: string;\n  /**\n   * Screen-reader only trigger text to hide displayed content\n   */\n  expandedButtonAccessibleLabel?: string;\n  /** Trigger text to hide displayed content\n   *\n   * Defaults to “Close”\n   */\n  expandedButtonLabel?: string | React.ReactNode;\n  /**\n   * Applies to Accordion when it is expanded\n   */\n  expandedClassName?: string;\n  /**\n   * Styles for the wrapper(div) of the accordion button\n   */\n  buttonWrapperClassName?: string;\n  /** A stable key to identify the accordion */\n  key: string;\n};\n\nexport type AccordionBase = {\n  /** Classes apply to trigger button\n   *\n   * To style accordion content, apply relevant classes directly to passed-in children\n   */\n  className?: string;\n  /** Accordion item including labels and content */\n  items: Item[];\n  /** Passed into `<section />` element that contains children\n   */\n  containerClassName?: string;\n  /**\n   * Optional heading level that should wrap the Accordion Trigger. Defaults to a span if undefined.\n   */\n  headingLevel?: HeadingLevel;\n  /**\n   * Controls the fill color for the indicator icon\n   */\n  iconIndicatorFillColor?: string;\n  /**\n   * Applies color when expanded\n   */\n  iconIndicatorExpandedFillColor?: string;\n  /**\n   * Controls whether children should be unmounted when accordion is collapsed\n   */\n  shouldUnmountChildrenWhenCollapsed?: boolean;\n  /**\n   * Controls accordion variant type, single or stacked.  Defaults to single.\n   *\n   * Single - only one accordion can be expanded at a time (other accordion items will collapse)\n   *\n   * Multiple - multiple accordion items can be expanded at the same time. (other accordion items will remain expanded)\n   */\n  variant?: 'single' | 'stacked';\n};\n\nexport type AccordionProps = AccordionBase & React.ComponentProps<typeof RadixAccordion.Root>;\n\nconst setInitialExpandedAccordions = (items: Item[], defaultValue?: string | string[]) => {\n  if (typeof defaultValue === 'string') {\n    const isExpanded = defaultValue === items[0]?.key;\n    return [isExpanded];\n  }\n  return Array.from({ length: items?.length }, (_, idx) => {\n    return Boolean(defaultValue?.includes(items?.[idx]?.key ?? ''));\n  });\n};\n/**\n *\n * An Accordion component based off of Radix UI's Accordion component. This component is used to display a list of items that can be expanded or collapsed to show or hide content. Root level component that rest props will pass to is <Accordion.Root />.\n * @see {@link Radix UI Accordion Documentation} https://www.radix-ui.com/primitives/docs/components/accordion\n */\nexport const Accordion = ({\n  className,\n  items,\n  containerClassName,\n  iconIndicatorFillColor,\n  iconIndicatorExpandedFillColor,\n  // eslint-disable-next-line @typescript-eslint/unbound-method -- This is a bug with radix definition using : void sytnax.\n  onValueChange,\n  variant = 'single',\n  shouldUnmountChildrenWhenCollapsed = false,\n  headingLevel,\n  ...rest\n}: AccordionProps) => {\n  const [uncontrolledExpandedAccordion, setUncontrolledExpandedAccordion] = React.useState(\n    setInitialExpandedAccordions(items, rest.defaultValue)\n  );\n\n  const isUncontrolledComponent = !rest?.value;\n\n  const { t } = useTranslation('osc-accordion');\n  const { locale = 'en' } = useRouter();\n  const languageDirection = getLanguageDirection(locale);\n\n  const isStackedAccordion = variant === 'stacked';\n  const handleIconType = isStackedAccordion ? 'arrowhead-down-circle' : 'arrowhead-small-down';\n  const iconSize = isStackedAccordion ? 'lg' : 'md';\n\n  /**\n   *\n   * Value can be string | string[] if `type` prop is `single` or `multiple` respectively.\n   */\n  const handleValueChange = (values: string | string[]) => {\n    if (typeof values === 'string') {\n      isUncontrolledComponent &&\n        setUncontrolledExpandedAccordion([!uncontrolledExpandedAccordion[0]]);\n      (onValueChange as (value: string) => void)?.(values);\n    } else {\n      isUncontrolledComponent &&\n        setUncontrolledExpandedAccordion(\n          uncontrolledExpandedAccordion.map((_, idx) => values.includes(items?.[idx]?.key ?? ''))\n        );\n      (onValueChange as (value: string[]) => void)?.(values);\n    }\n  };\n\n  if (!items?.length) return null;\n\n  return (\n    <RadixAccordion.Root\n      {...rest}\n      dir={languageDirection}\n      {...(rest.type === 'single' && { collapsible: true })}\n      onValueChange={handleValueChange}\n    >\n      {items.map((item, idx) => {\n        const isExpanded = isUncontrolledComponent\n          ? uncontrolledExpandedAccordion[idx]\n          : typeof rest?.value === 'string'\n          ? rest?.value === item.key\n          : !!rest?.value?.includes(item.key);\n\n        const buttonLabel = isExpanded\n          ? item?.expandedButtonLabel ?? t('close')\n          : item?.collapsedButtonLabel ?? t('open');\n\n        const accessibleButtonLabel = isExpanded\n          ? item?.expandedButtonAccessibleLabel\n          : item?.collapsedButtonAccessibleLabel;\n        const iconVariant = isStackedAccordion && isExpanded ? 'solid' : 'regular';\n        const shouldRenderChildren =\n          !isExpanded && shouldUnmountChildrenWhenCollapsed ? false : true;\n\n        return (\n          <RadixAccordion.Item\n            key={item.key}\n            value={item.key}\n            className={item.buttonWrapperClassName}\n            data-osc=\"accordion-item\"\n          >\n            <RadixAccordion.Header asChild={true}>\n              <TriggerWrapper as={headingLevel}>\n                <RadixAccordion.Trigger asChild>\n                  <button\n                    type=\"button\"\n                    className={cx('items-center', className, {\n                      [item?.expandedClassName as string]: isExpanded && !!item?.expandedClassName,\n                      [item?.collapsedClassName as string]:\n                        !isExpanded && !!item?.collapsedClassName,\n                    })}\n                    data-osc={`accordion-trigger-${item.key}`}\n                  >\n                    <span aria-hidden={Boolean(accessibleButtonLabel)}>{buttonLabel}</span>\n                    {accessibleButtonLabel ? (\n                      <span className=\"sr-only\">{accessibleButtonLabel}</span>\n                    ) : null}\n                    <span\n                      className={cx(\n                        'accordion-indicator-wrapper duration-150 ease-in-out motion-safe:transition',\n                        {\n                          '-rotate-180': isExpanded,\n                        }\n                      )}\n                      data-osc=\"accordion-indicator-wrapper\"\n                    >\n                      <Icon\n                        name={handleIconType}\n                        variant={iconVariant}\n                        size={iconSize}\n                        className={cx(iconIndicatorFillColor, {\n                          [iconIndicatorExpandedFillColor as string]:\n                            isExpanded && !!iconIndicatorExpandedFillColor,\n                        })}\n                      />\n                    </span>\n                  </button>\n                </RadixAccordion.Trigger>\n              </TriggerWrapper>\n            </RadixAccordion.Header>\n            <RadixAccordion.Content className={containerClassName} data-osc=\"accordion-panel\">\n              {shouldRenderChildren ? item.content : null}\n            </RadixAccordion.Content>\n          </RadixAccordion.Item>\n        );\n      })}\n    </RadixAccordion.Root>\n  );\n};\n\nfunction TriggerWrapper({\n  as: Wrapper = 'span',\n  children,\n  ...rest\n}: {\n  as?: HeadingLevel | 'span';\n  children: React.ReactNode;\n}) {\n  return <Wrapper {...rest}>{children}</Wrapper>;\n}\n\nexport default Accordion;\n","export * from './lib/accordion';\n","import type * as React from 'react';\nimport { TabButton } from '@dx-ui/osc-tabs';\nimport cx from 'classnames';\n\ntype TabButtonProps = {\n  tabId: string;\n  className?: string;\n  activeClassName?: string;\n  inactiveClassName?: string;\n  children: React.ReactNode;\n};\n\nconst VerticalTabButton = ({\n  tabId,\n  className,\n  activeClassName,\n  inactiveClassName,\n  children,\n}: TabButtonProps) => (\n  <TabButton\n    id={tabId}\n    key={tabId}\n    className={cx('relative mb-0 flex items-center px-4 py-3 text-start font-sans', className)}\n    activeClassName={cx(\n      'after:bg-hilton after:absolute after:start-0 after:top-0 after:h-full',\n      activeClassName\n    )}\n    inactiveClassName={cx('bg-bg-light', inactiveClassName)}\n  >\n    {children}\n  </TabButton>\n);\n\nexport { VerticalTabButton };\nexport default VerticalTabButton;\n","import type * as React from 'react';\nimport cx from 'classnames';\n\ntype TabProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst VerticalTab = ({ className, ...rest }: TabProps) => (\n  <div className={cx('relative', className)} {...rest} />\n);\n\nexport { VerticalTab };\nexport default VerticalTab;\n","import type * as React from 'react';\nimport { TabPanel } from '@dx-ui/osc-tabs';\n\ntype TabPanelProps = {\n  tabPanelId: string;\n  className?: string;\n  children: React.ReactNode;\n};\n\nconst VerticalTabPanel = ({ tabPanelId, className, children }: TabPanelProps) => (\n  <TabPanel id={tabPanelId} key={tabPanelId} className={className}>\n    {children}\n  </TabPanel>\n);\n\nexport { VerticalTabPanel };\nexport default VerticalTabPanel;\n","import type { ReactNode } from 'react';\nimport { Children, isValidElement } from 'react';\nimport { TabList, TabPanels, Tabs } from '@dx-ui/osc-tabs';\nimport { Accordion } from '@dx-ui/osc-accordion';\nimport VerticalTabButton from './vertical-tab-button';\nimport VerticalTab from './vertical-tab';\nimport VerticalTabPanel from './vertical-tab-panel';\nimport cx from 'classnames';\n\nexport type VerticalTabProps = {\n  /**\n   * Styles for both the collapsed and the expanded state of the accordion\n   */\n  accordionClassName?: string;\n  /**\n   * Styles for the collapsed state of the accordion\n   */\n  accordionCollapsedClassName?: string;\n  /**\n   * Styles for the expanded state of the accordion\n   */\n  accordionExpandedClassName?: string;\n  /**\n   * Styles for the wrapper(div) of the accordion button\n   */\n  accordionButtonWrapperClassName?: string;\n  /**\n   * Controls the fill color for the accordion indicator icon\n   */\n  accordionIconIndicatorFillColor?: string;\n  /**\n   * Controls the fill color for expanded accordion icons\n   */\n  accordionIconIndicatorExpandedFillColor?: string;\n  children: ReactNode;\n  defaultActiveId?: string;\n  id?: string;\n  /**\n   * For changing breakpoint between mobile/desktop layout\n   */\n  mobileDesktopBreakpoint?: 'sm' | 'md' | 'lg';\n  onAccordionClick?: (value: string[]) => void;\n  onTabChange?: (id?: string) => void;\n};\n\nconst VerticalTabs = ({\n  accordionClassName,\n  accordionCollapsedClassName,\n  accordionExpandedClassName,\n  accordionButtonWrapperClassName,\n  accordionIconIndicatorFillColor,\n  accordionIconIndicatorExpandedFillColor,\n  children,\n  defaultActiveId,\n  id,\n  mobileDesktopBreakpoint = 'lg',\n  onAccordionClick,\n  onTabChange,\n}: VerticalTabProps) => {\n  const arrayChildren = Children.toArray(children);\n\n  const tabList = Children.map(\n    arrayChildren,\n    (child) => isValidElement(child) && child.type === VerticalTab && child\n  )?.filter(Boolean);\n\n  // Filter out anything where the first two children are not VerticalTabButton then VerticalTabPanel\n  const validTabs = Children.map(tabList, (child) => {\n    if (\n      isValidElement(child) &&\n      child?.props?.children[0].type === VerticalTabButton &&\n      child?.props?.children[1].type === VerticalTabPanel\n    ) {\n      return child;\n    }\n    return null;\n  });\n\n  const items = validTabs?.map((tab) => {\n    const header = tab?.props?.children[0];\n    const content = tab?.props?.children[1];\n\n    return {\n      content: <section className=\"px-2 py-4\">{content?.props?.children}</section>,\n      key: header.props?.tabId,\n      collapsedClassName: accordionCollapsedClassName,\n      collapsedButtonLabel: header?.props?.children,\n      expandedClassName: accordionExpandedClassName,\n      expandedButtonLabel: header?.props?.children,\n      buttonWrapperClassName: accordionButtonWrapperClassName,\n      iconIndicatorFillColor: accordionIconIndicatorFillColor,\n      iconIndicatorExpandedFillColor: accordionIconIndicatorExpandedFillColor,\n    };\n  });\n\n  return (\n    <>\n      <section\n        className={cx('hidden', {\n          'sm:block': mobileDesktopBreakpoint === 'sm',\n          'md:block': mobileDesktopBreakpoint === 'md',\n          'lg:block': mobileDesktopBreakpoint === 'lg',\n        })}\n      >\n        <Tabs\n          defaultActive={defaultActiveId}\n          className=\"flex\"\n          onTabChange={onTabChange}\n          changeWithArrow\n          useUpDownArrows\n        >\n          <TabList\n            className=\"mb-4 flex-col !overflow-x-hidden pb-2\"\n            aria-orientation=\"vertical\"\n            aria-labelledby={id}\n          >\n            {validTabs?.map((tab) => tab?.props?.children[0])}\n          </TabList>\n\n          <TabPanels className=\"flex-1 pt-2\">\n            {validTabs?.map((tab) => tab?.props?.children[1])}\n          </TabPanels>\n        </Tabs>\n      </section>\n      <section\n        className={cx({\n          'sm:hidden': mobileDesktopBreakpoint === 'sm',\n          'md:hidden': mobileDesktopBreakpoint === 'md',\n          'lg:hidden': mobileDesktopBreakpoint === 'lg',\n        })}\n      >\n        <Accordion\n          className={cx(\n            'accordion-stacked hh-accordion text-primary hover:text-primary-alt px-5 text-start',\n            accordionClassName\n          )}\n          {...(defaultActiveId && { defaultValue: [defaultActiveId] })}\n          items={items}\n          onValueChange={onAccordionClick}\n          variant=\"stacked\"\n          type=\"multiple\"\n          headingLevel=\"h3\"\n        />\n      </section>\n    </>\n  );\n};\nexport { VerticalTabs };\nexport default VerticalTabs;\n","export * from './vertical-tab-button';\nexport * from './vertical-tab';\nexport * from './vertical-tab-panel';\nexport * from './vertical-tabs';\n","export * from './lib';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"outline\":\"HeadingAnalyzer_outline___IguK\"};"],"names":["Head","title","description","keywords","NextHead","meta","name","content","CmsPageModelDocument","operationName","operationString","originalOpName","illustrationVariants","variant","isParallax","StairwellIllustration","FeatherIllustration","PlateIllustration","Filigree","LineIllustration","div","className","Parallax","speed","effects","children","componentClassName","brandCode","backgroundIllustration","componentParams","theme","backgroundImage","anchorId","topPadding","bottomPadding","effectClassNames","getEffectClassNames","cx","isLight","isDark","id","undefined","data-testid","BackgroundIllustration","oneLinkNoTx","isBoolean","x","isString","isAlignment","isPosition","isTheme","isFullWidthMediaDisplay","isImageDisplay","isBackgroundIllustration","valid","illustrationBlockVariant","isTextOverlay","textOverlayVariants","isPaddingAmount","isHeadingLevel","Number","isInteger","isCmsAspectRatio","convertCmsAspectRatioToCpmAspectRatio","aspectRatio","replace","effectsList","makeParamValidator","validator","defaultValue","value","stripUndefineds","JSON","parse","stringify","getPath","path","acc","prop","getProp","hasProp","Array","isArray","mappingSchema","mappingKind","isEditable","namedImages","assets","maintainUnsegmentedCount","animation","backgroundParallax","display","listTextAlign","oneLinkNoTx2","oneLinkNoTx3","oneLinkNoTx4","oneLinkNoTx5","oneLinkNoTx6","oneLinkNoTx7","oneLinkNoTx8","oneLinkNoTx9","oneLinkNoTx10","oneLinkNoTx11","oneLinkNoTx12","oneLinkNoTx13","oneLinkNoTx14","oneLinkNoTx15","cmsDocumentTypes","oneLinkNoTx1","Accordion","BrandAlerts","Carousel","noMargin","text","orientation","Collage","imageDisplay","isGridColumn","aspectRatioDesktop","aspectRatioTablet","aspectRatioMobile","Editorial","isEditorialDisplay","Experimentation","experienceId","experienceData","Footer","Gallery","textAlign","mediaRatio","isMediaRatio","Header","illustration","isIllustrationBlock","horizontalLine","scrollingAnimation","textboxPosition","aaaRate","travelAgentRate","governmentOrMilitaryRate","seniorRate","redeemPts","aarpRate","deeplinkParameter1","deeplinkParameter2","deeplinkParameter3","deeplinkParameterValue1","deeplinkParameterValue2","deeplinkParameterValue3","displayOption","tabDisplay","isTabDisplay","tabbedSectionDisplay","isOrientation","borderTrim","curvedHeader","headerSvg","isHeaderSvg","isMappedComponentName","Object","keys","includes","getBrComponentName","componentBr","getFromPageByRef","ref","page","getContent","data","getData","image","imageRef","contentVariants","variants","map","img","_id","url","cdnLink","size","mapVariantScreenSizeToBrandImageSize","__typename","filter","Boolean","length","firstVariant","altText","compoundedImage","getImageWithVariantsFromPage","expansionPanelImage","caption","captionLink","campaignId","variantsSizes","assetRef","entries","reduce","key","images","getDocumentOfTypeFromPageAndComponent","documentTypes","component","models","getModels","documentTypesWithPrefix","documentType","values","document","$ref","docData","contentType","convertDocumentKeyToInt","parseInt","modelsToRefs","sort","a","b","modelKey","transformLink","link","addCampaignCodeToUrl","translatedLink","adaDescription","isNewWindow","label","linkLabel","linkUrl","experimentationConfiguration","compoundImageBreakpointSizes","collage","xs","sizes","height","width","sm","md","tabs","threeSixNineGrid","fourXExpansionPanel","halfAndHalf","fullWidth","imageHeadliner","threeSixNineExpansionPanel","fourXGrid","brandCarousel","getBrandCodeFromPage","channel","info","props","removeNullyFromArray","transformLinksEnhancer","links","singleLink","subTopic","faq","faqItem","makeCmsComponentDocumentEnhancer","componentSchema","addAssetsEnhancer","makeAddAssetsEnhancer","cpmAssets","defaultPropertyImages","generateStructuredAssetFromBloomreachAsset","structuredAsset","bloomreachAsset","imagePointer","brandCodes","resolvedAsset","getAssetImage","aspectRatios","fn","objectMapWithKey","assetAtRatio","URL","split","aspectWidth","aspectHeight","aspectRatioAsFloat","largestPossibleDimension","flatMap","namedImage","namedImageBreakpointSizes","compoundImageBreakpointSize","val","Math","max","isLandscape","searchParams","has","set","ceil","toString","fromEntries","generateStructuredAssetFromOldStyleImage","oldStyleImages","imageName","imageCompound","getImageCompound","find","push","pageBrandCode","toJSON","l","r","lMatchesBrandCode","rMatchesBrandCode","documentNumber","step7","addAspectRatioImages","step6","hasAspectRatiosDefined","cmsDefinedAspectRatioImages","breakpoints","convertedAspectRatioMobile","mobile","convertedAspectRatioTablet","tablet","convertedAspectRatioDesktop","desktop","videos","video","multimedia","media","headline","segmentIds","shortDescription","cpmRelatedDocuments","relatedDocumentsRef","relatedDocuments","item","index","cbId","forEach","_meta","enhancedDoc","longDescription","itemExcludedFromTranslation","cmsTranslationClasses","rest","documentBrandCode","step8","getTaggingValuesFromCpmAnalytics","mappedPage","postfix","analyticsTagging","primaryCategory","capitalizeHyphen","pageDetailOne","pageDetailTwo","adobePageType","cidPostfix","join","input","match","toUpperCase","registerExperimentItem","isCpmEditor","config","agentId","variation","add","handleError","fallback","isCPMEditor","errorAccumulator","err","Error","applyMapData","mapData","mappedData","mapCpmData","pageBr","extractCampaignCodeTaggingValues","clear","pageType","getDocument","type","componentName","getName","parseComponentParams","componentParamsRaw","isDocumentKey","test","universalParams","sanitizeUniversalParams","validOrUndefined","params","topHeadingLevel","convertTopHeadingLevelToInteger","isCmsHeadingLevel","cmsHeadingLevel","componentSpecificParams","parser","supportedEffects","effect","hasComponentSpecificParams","hasUniversalParams","componentSpecificParamsWithSupported","getParameters","checkValidQueryString","href","baseUrl","queryString","fixedQueryString","campaignCodeSegments","cid","search","buildSearchStringForAnalyticsCampaignId","keyValue","decodeURIComponent","enhanceData","experimentationAgentIds","Set","cmsData","navigationList","items","cmsDocumentType","translateNavigationListLinks","navigationItems","isBrandNavigationDocumentItems","navItem","secondaryItems","secondaryNavItems","primaryNav","isNavigationListDocumentItems","linkGroup","addIssue","clearIssue","listData","cpmListData","itemRefs","directRefs","getItemsRefs","itemsRef","documentNumbers","Map","getDocumentKeyNumbersMap","keyNumbers","keyedItems","get","mappedListData","keyItems","isUntranslated","padStart","log10","enhancedData","mappedDocumentData","getDocumentByRef","isNodeWithChildren","node","every","child","getMainDocument","rootDocument","mainDocumentRef","childDocument","mainDocument","getPagePrimaryImage","firstAssetOfAspectRatio","getComponent","getChildren","itemsData","instanceData","flat","pageModel","rootDoc","root","mainDoc","containerDoc","container","documentRef","hasHeadingOne","headingOnePattern","ErrorBlock","message","h2","data-e2e","p","CpmMappingError","options","setPrototypeOf","prototype","messageFromError","titleFromProps","displayName","titleEntity","code","titleSuffix","ErrorBoundary","state","hasError","error","componentDidCatch","errorInstance","logError","console","render","showError","getDerivedStateFromError","React","MappingContextProvider","TypeForcedProvider","MappingContext","Provider","makeBloomContextHook","context","extracted","useContext","useBrComponentContext","BrComponentContext","BrPageContext","makeBloomContextHookSafe","createContext","EditorIssuesProvider","useState","issues","setIssues","isOpen","setIsOpen","EditorIssuesContext","editorContextValue","toggle","addIssues","_issues","newIssues","i","currentIssue","prevIssues","issueStub","useIssuesContext","CpmMergedBrPageContext","useCpmMergedBrPageContext","usePartialBrPageContext","cpmBrPageContext","mergedBrPage","create","model","CpmMergedBrPageContextProvider","useData","query","EditorIssues","panelId","issueCount","button","aria-expanded","aria-controls","onClick","hidden","ul","li","NewContentBanner","style","borderStyle","borderTopWidth","padding","SegmentationWrapper","useEditorPageSegmentsContext","EditorPageSegmentationContext","setSegments","_","brComponent","useEffect","registerSegments","docRef","segmentId","prevState","nextState","modifiedState","nextSegment","convertItemsRefToModels","getEditorContentId","compound","EditWrapper","isMappedComponent","hideManageContentButton","useHideManageContentButton","hidePageHeader","hidePageFooter","useDataSingle","NullDocumentBanner","wrappedChildren","BrManageContentButton","parameter","relative","Fallback","mappingName","getLabel","BrComponent","BrComponentPoorlyTyped","BrPagePoorlyTyped","Cookies","shouldRenderExperiment","agents","agent","isLoaded","selection","choice","toLowerCase","onError","ReactErrorBoundary","makeDefaultQueryFetcherFn","token","defaultQueryFn","queryKey","headers","req","delete","URLSearchParams","Headers","fetch","credentials","SyntaxError","findLastImageName","sampleSize","MAX_TEXT_SAMPLE_SIZE","sample","slice","lastMatch","matchAll","pop","cause","CpmQueryClientProvider","queryFn","queryClient","QueryClient","defaultOptions","queries","retry","QueryClientProvider","client","CpmDataWrapper","ErrorBanner","pre","brPage","some","shouldFetchImages","uuid","shouldFetchListItems","itemRef","shouldFetchRelatedDocuments","getUrl","QueryErrorResetBoundary","reset","OSCErrorBoundary","onReset","fallbackRender","resetErrorBoundary","whiteSpace","BrandButton","InfoBanner","Spinner","FetchComponentData","queryUrl","useSuspenseQuery","sync","fallbackValue","CpmConductricsAgentsContext","CpmConductricsAgentsProvider","agentIds","ConductricsFetcher","isSingleAgent","selections","useConductricsSelection","handleClick","useCallback","event","target","Element","interactiveElement","closest","goal","dataset","conductricsGoal","conductricsValue","sendReward","castToNumber","isFinite","v","body","addEventListener","passive","removeEventListener","isConductricsSingleSelection","initialMap","ConductricsAgentsContext","PreviewConductricsAgentsContext","usePreviewConductricsAgents","getUnsegmentedItems","segments","numItems","filteredItems","isProdApp","env","PreviewSegmentsContext","noop","PreviewSegmentsContextProvider","usePreviewSegmentsContext","previewContentContext","getSegmentCookie","cookies","cookie","TMS_LIVE_COOKIE_NAME","useSegments","useCookies","CookiesContext","tms","entry","startsWith","useGetFilterSegmentedItems","cookieSegments","previewSegments","getFilteredItems","filterLinks","UniversalProviders","ParallaxProvider","isDisabled","getIsReducedMotion","window","matchMedia","matches","CpmEditorRenderer","router","definitions","cpmData","sectionNames","campaignCodeTaggingValues","useRouter","mapping","definition","cpmComponentName","CpmMapper","componentData","issuesCallbacks","useIssues","issue","useMappingContext","filterSegmentedItems","conductricsAgentsContext","useConductricsAgentsContext","convertPreviewAgentsToSelections","previewAgents","accumulator","registerMappedAgents","mappedAgentIds","setAgents","nextAgents","cloneAgentsMap","clonedMap","clonedVariations","modified","av","variations","validateCompomentParamEffects","fullSupportedEffects","filterMappedData","isCpmListMappingKind","OneLinkWrapper","HeadingLevelProvider","isEnabled","level","RenderComponent","experimentationAgents","CpmMappingWrapper","TYPE_CONTAINER_ITEM_UNDEFINED","BrPage","cpmPage","configuration","bloomReachConfiguration","sectionName","CpmAppRender","useCpmConductricsAgents","preMappedData","section","componentDefinition","shouldMaintainUnsegmentedCount","segmentedItems","filterExperimentationItems","createCpmComponentDefinition","useCreateManageContentButton","useBrPageContextSafe","selectFirstAssetWithAspectRatio","asset","selectLastAssetWithAspectRatio","reversed","reverse","HeadingList","HeadingListItem","heading","textStyle","cn","headingDescription","span","headingLevel","aria-label","isMissing","styles","$el","querySelector","outlineCssClass","outline","scrollIntoView","behavior","block","inline","classList","setTimeout","remove","BrandMessagesDocument","DynamicMarkdown","dynamic","BrandAlertsCpm","useBrandMessagesQuery","languageCode","variables","lang","useQuery","isFetching","refetch","useTranslation","t","catch","messages","clientMessages","BrandComponentThemeInline","Alerts","brandLink","messageProps","Alert","status","messageType","getStatus","Link","AlertDialog","ariaLabel","AttachedContent","alignContent","brandComponentTheme","textAlignCss","BrandTextHeader","BrandTextBody","BrandLink","showNewWindowIcon","data-conductrics-goal","data-conductrics-value","lg","xl","xxl","asNumber","BrandCarousel","isFullScreen","onArrowClick","activeIndex","setActiveIndex","onNavigation","isXL","useMediaQuery","getBreakpoint","isSmall","imageUrls","overrideImageUrl","GetHeightForWidthAndAspectRatio","alt","captionData","metrics","useMemo","generateCpmCarouselMetrics","CarouselSingle","showAlternateControls","dashIndex","lastIndexOf","substring","BrandCarouselEditorButtons","slideIndex","cmsDocumentControl","ForTheStayOverlay","overlayPosition","count","makeContext","Context","FeatureTogglesContext","useFeatureToggles","useCorporateAccount","useBrandData","MetricsContext","useMetrics","BrandCarouselCpm","itemsWithManageContentButton","setSlideIndex","createManageContentButton","imageCount","AnimateRevealItem","delay","animationType","isAnimated","newIndex","trackCarouselNavigationClick","navigationClick","carouselNumber","extractInstanceIndexFromId","totalDots","mapComponentData","filtered","onItemClicked","trackBrandShowcaseClick","brandShowcaseNumber","itemNumber","totalItems","brandName","BrandShowcase","logoUrl","source","BrandVideo","YouTubeVideo","wrapperClassName","BREAK_POINTS","freeze","small","medium","large","extraLarge","twoExtraLarge","getAspectRatioUrl","src","imgUrl","twoXimgUrl","threeXImgUrl","srcUrl","cw","ch","aspectRatioVariants","accum","breakPointName","breakPointWidth","round","generateCollageMetrics","itemTitle","position","click","clickID","ImageClickID","Img","osc","ANALYTICS_NO_VALUE","COLLAGE_ANALYTICS_COUNT","ImageType","function","ImageFunction","CollageContent","isFlipped","isInView","logo","brandLinkVariant","propertyTheme","base","Image","fill","imageUrl","HeadingLevel","headingLevelFallback","clearImageAnalyticsData","metricsOnClick","trackEvent","ANALYTICS_GLOBAL_CLICK_EVENT","CollageDesktopImage","imageWithRatioUrl","isPrimaryImageRatio","figure","Caption","primaryImageRect","secondaryImageRect","primaryImage","primaryCaptionData","secondaryImage","secondaryCaptionData","isTailored","carouselImages","useIntersectionObserver","threshold","freezeOnceVisible","isIntersecting","primaryImageRef","useRef","secondaryImageRef","useRect","primaryImageWidth","secondaryImageWidth","screenWidth","useWindowSize","observedWrapper","intersectionRef","optimizedCarouselImages","handlePrimaryCaptionClick","PRIMARY_CAPTION_POSITION","disabled","inView","accent","border","SECONDARY_CAPTION_POSITION","constructImage","secondaryImageThreeByTwo","primaryCaptionAsset","secondaryCaptionAsset","primaryImageThreeByTwo","getIsFlipped","CollageCpm","EditorialSnippet","ctaLink","socialMediaLink","socialMediaIcon","isSquareImage","hgroup","unoptimized","underline","Icon","Scroll","imageFunction","cardCarouselMetrics","CardCarouselItem","rect","imageAltTxt","imageAspectRatio","isEditorialComponent","isInsideBorder","currentCard","totalCards","tabIndex","mainHeadline","handleTrackCardCarouselItemMetrics","generateCardCarouselMetrics","ResponsiveImage","aria-hidden","anchorClassName","CardCarousel","mainShortDescription","setCardItemFocus","activeElement","itemToFocus","useArrowKeys","getAttribute","cardCarouselItem","goToNextItem","nextElementSibling","e","preventDefault","stopPropagation","listElement","setAttribute","focus","findNextItemToFocus","goToPreviousItem","previousElementSibling","findPreviousItemToFocus","isRtl","showPreviousArrow","setShowPreviousArrow","showNextArrow","setShowNextArrow","locale","isRtlUtil","headerId","useId","firstVisibleItemIndex","setFirstVisibleItemIndex","lessThanThreeItems","sideScroll","element","step","scrollLeft","onChange","current","maxScrollwidth","scrollWidth","carouselWidth","arrowButtonRect","onResize","onScrollArrow","handleKeyPressDown","ownerDocument","isLinkPresent","findFirstLinkIndex","findIndex","invisible","handlePreviousButtonClick","clientWidth","scrollValue","prevVal","aria-labelledby","onScroll","itemProps","onKeyDown","data-use-arrow-keys","handleNextButtonClick","EditorialCarousel","carousel","contentBelowImg","imgWrapperClassName","carouselHeadline","subHeadline","Markdown","Pullquote","blockquote","stat","Timeline","ol","timeline","Chip","as","iconName","shouldInheritStyles","isIconTrailing","preset","chipLabel","VARIANT_STYLES","honors","general","marketing","neutral","PRESET_STYLES","featured","new","sale","package","variantClassName","presetClassName","icon","BrandEditorialCarousel","teaser","editorialVariant","teaserType","teaserData","headingAndDescription","Stats","trim","EditorialHamptonHexVisual","enabled","svg","viewBox","xmlns","d","cardImage","mainImage","chips","chip","social","socialMediaLinks","gridDescription","cards","CpmEditorial","socialLink","segmentedCards","useSegmentedItems","carouselItems","filteredLinks","HamptonHexVisual","modalImageUrl","FourXGrid","listLink","isThemeAdded","hexEnabled","DynamicGridWOM","listHeadline","listDescription","DynamicGrid","onViewItem","selectedItemId","trackGridItemClick","gridNumber","is4XGrid","isWA","imageOverlayButtonText","desktopImageUrl","tabletImageUrl","mobileImageUrl","imageAltText","FullWidthImageCpm","FullWidthImage","overlayButtonClicked","trackFullWidthImageClick","fullWidthImageNumber","generateGalleryMetrics","DEFAULT_GALLERY_POSITION","DEFAULT_GALLERY_COUNT","GalleryImage","idx","dialogTitle","isDialogOpen","setIsDialogOpen","isMobile","BREAKPOINTS","isDesktop","numberOfItemsInARow","Dialog","dialogTrigger","wrapperTag","Modal","onDismiss","startingIndex","generatePartialGalleryMetrics","isGalleryExpanded","setIsGalleryExpanded","galleryItemsLength","showViewBtn","shouldHideImage","category","TabbedGallery","defaultActive","sanitizeId","activeCategoryId","setActiveCategoryId","focusedCategoryId","setFocusedCategoryId","uniqueCategories","from","categoryItems","Tabs","changeWithArrow","useUpDownArrows","onTabChange","TabListScrollable","leftArrowWrapperClassName","rightArrowWrapperClassName","isFocusedTab","isRightBeforeFocusedtab","TabListButton","onFocus","onBlur","activeClassName","TabPanels","TabPanel","transformImage","mapAssetsToImages","crypto","randomUUID","CpmGallery","isTabbedGallery","galleryItems","isGraduate","subheading","isCTADisplayed","galleryMetrics","mapTextAlignToClassname","GridThreeSixNine","isWom","listSubheading","filteredAssets","transformImages","videoData","mapMultimediaListToVideoProps","forcedIndex","isEvenIndex","even","HalfAndHalf","isLXR","HalfAndHalfCarousel","isReverse","hasParallax","HalfAndHalfOsc","hasImageCarousel","CpmImageHeadliner","ImageHeadliner","ImageHeadlinerItem","isReducedMotion","HeroImage","hasHorizontalLine","badgeImageAltText","badgeImageUrl","hasGalleryButton","illustrationOverlay","forTheStayIllustration","captionMetricsOnClick","brandLinkMetricsOnClick","attachedContentAnimate","isCenter","isLeft","isRight","getCurrentAspectRatioAndUrl","imageUrlMobile","mobileUrl","imageUrlTablet","imageUrlDesktop","desktopUrl","rx","y","hr","HeroVideo","videoUrl","videoGroup","videoLabel","videoName","posterImageUrl","isAutoPlay","videoCaptionData","audioTracks","captionTracks","transcriptTracks","markupSchemas","isMuted","wrapperElement","useVideoPlayer","hasAudio","videoProps","videoCaptionProps","videoControlsProps","videoTranscriptProps","hasActiveTranscript","activeTranscript","VideoPlayerMarkup","Video","videoId","role","VideoCaptions","VideoControls","videoVariant","VideoTranscript","HeroTextOverlay","mobileAspectRatio","tabletAspectRatio","desktopAspectRatio","getIsWindowVerticallySmall","innerHeight","Content","CustomMarkdown","markdown","CardContentArea","animationPercent","isFocused","setIsFocused","cta","ScrollAnimation","primaryCTA","triggerRef","videoContainerRef","setAnimationPercent","showInitialContent","setShowInitialContent","shouldAnimateWindow","setShouldAnimateWindow","shouldControlsRemainVisible","getXOffset","min","getYOffset","getBorderWidth","getButtonOffset","start","top","reduceMotion","prefersReducedMotion","getPrefersReducedMotion","verticallySmall","documentElement","scrollBehavior","handleScroll","triggerRect","getBoundingClientRect","videoRect","videoHeight","bottom","handleResize","setRefs","inViewRef","insetInlineStart","opacity","borderWidth","videoElement","muted","loop","priority","shouldAlignContentPosition","mastheadAnalytics","MASTHEAD_IMAGE_POSITION","MASTHEAD_IMAGE_COUNT","Masthead","multimediaCaption","firstMultimedia","multimediaCaptionData","makeContent","markdownEditor","contentBlock","badgeUrl","staticDisplay","textOverlayDisplay","MastheadImageCpm","isHomepage","isEY","generateMastheadAnalytics","MastheadOverlayImage","BrandHorizontalTabbedSectionContent","playerProps","videoSize","copy","isYouTubeShort","isPortrait","isMultimediaVideo","isVideo","isVerticalVideo","isImage","isCinemagraph","playerId","playerClassNames","useVideoPlayerClasses","isLarge","useResizeObserver","transcriptStyle","hasMediaContent","Transcript","isAutoLoop","wrapperClassNames","captionClassNames","controlsClassNames","iconType","brandIcon","brandIconMapper","invertedName","iconMapper","BrandHorizontalTabbedSection","defaultTab","selectedTab","setSelectedTab","hasIconOrLogo","tabId","currentId","dispatchVideoEvent","VIDEO_EVENTS","PAUSE_SELF","tab","inactiveClassName","TabIcon","panel","shouldIncreaseLevel","BrandVerticalTabBody","flex","BrandVerticalTabbedSection","cmsId","VerticalTabs","defaultActiveId","accordionExpandedClassName","accordionCollapsedClassName","accordionButtonWrapperClassName","accordionClassName","accordionIconIndicatorFillColor","accordionIconIndicatorExpandedFillColor","VerticalTab","VerticalTabButton","VerticalTabPanel","tabPanelId","multimediaList","hasImage","hasVideo","TabbedSection","VerticalTabbedSection","targetTabIndex","trackTabItemClick","tabComponentNumber","TextBlockCTA","TextualDescriptionBlock","isStaticContentPage","overrides","makeHeadingOverrides","TextualOrderedListItemBlock","TextBlockOrderedList","TextualOrderedListBlock","TextBlockOrderedListItem","TextualUnorderedListItemBlock","TextBlockUnorderedList","TextualUnorderedListBlock","TextBlockUnorderedListItem","TextBlock","isBorderTrim","wrapperRef","TextualBlock","hasBorderTrim","kind","TextBlockHeading","TextBlockDescription","MarkdownBlock","makeDescriptionClassName","makeLinkClassName","makeOrderedListClassName","makeUnorderedListClassName","makeOrderedListItemClassName","CurvedHeading","textClassNames","curvedText","curvature","textBelow","nodeBelow","shouldDisable","curvedHeadingId","textRef","svgTextDimensions","calculatedCurvature","sin","PI","viewBoxHeight","viewBoxWidth","shouldDisableCurve","useHasUserModifiedFontDefaults","defs","textPath","xlinkHref","startOffset","textAnchor","g","isStory","isGraduateBrand","mappedContentBlocks","orderedList","unorderedList","blocks","headlineTooLong","isTextAlignUsed","TextBlockCpm","disableCurve","ByHilton","filteredBlocks","TextHighlight","direction","trackTextHeadlinerClick","textHeadlinerNumber","leftArrow","rightArrow","onChangeIndex","isTruncated","VideoPoster","attachedContent","shouldAnimateReveal","VideoPlayer","transcript","VideoPosterCpm","isClient","useIsClient","String","PatchworkGridRow","rowHeadlineClassName","shouldUseGetAspectRatio","customContent","numImages","startingImageIndex","patchWorkHeadline","splice","numImagesInRow","rowImages","normalizedImageIndex","RowImage","imageIndex","orderedElements","RowHeadline","imageSize","imageSource","imageSrc","setImageSrc","aspectRatioImage","offsetWidth","objectFit","generatePatchworkGridMetrics","imageType","Patchwork","PatchworkGrid","rows","total","row","rowWithHeadline","currentImageIndex","createImageObject","additionalImages","PatchworkGridCpm","patchworks","ImageControlButton","labelText","navigationText","justClicked","setJustClicked","aria-live","onButtonClick","timeout","clearTimeout","onButtonFocus","NextImage","onLoad","placeholder","blurDataURL","generateFilmstripMetrics","filmstripMetrics","Filmstrip","imagesLength","getOffsets","imageWidth","doubleOffset","previousPreviousOffset","previousOffset","nextOffset","nextNextOffset","touchStart","setTouchStart","touchEnd","setTouchEnd","itemText","nextText","itemLabel","activeIndexLabel","getDisplayIndex","previousText","selectors","imgBaseAspectRatio","imgBaseClassName","trackFilmstripMetrics","scroll","onTouchEnd","handleTouchEnd","SWIPE_SENSITIVITY","onTouchMove","handleTouchMove","targetTouches","clientX","onTouchStart","handleTouchStart","translate","getPreviousPreviousIndex","getPreviousIndex","getNextIndex","getNextNextIndex","filmStripImages","CpmFilmStrip","BrandFilmstrip","generateFullWidthMediaMetrics","FULL_WIDTH_MEDIA_POSITION","FULL_WIDTH_MEDIA_COUNT","Full","FullWidthMediaContentBlock","alignment","isCentered","FullWidthMedia","imageWrapperClass","figureClassName","videoClassName","align","getHamptonHexColor","HamptonHexBlock","article","backgroundColor","FullWidthMediaAndCopyOverlay","shouldDisplayStandardContent","shouldDisplayHamptonHex","generatePartialFullWidthMediaMetrics","Offset","OFFSET_IMAGE_COUNT","previous","getReactNodeInnerText","jsx","reduceJsxToString","hasProps","hasOwnProperty","call","default","isInversePattern","innerString","handleOffsetMetric","generateOffsetMetrics","OFFSET_LARGE_IMAGE_POSITION","OFFSET_SMALL_IMAGE_POSITION","BrandOffset","headlineString","DEFAULT_OFFSET_IMAGE_POSITION","OffsetCpm","details","useHeadingLevel","_accordionHeadingLevel","expandedAccordions","setExpandedAccordions","areAllExpanded","collapseAll","detail","Details","onValueChange","ContentWrapper","markdownProps","language","origin","location","listItem","hash","str","charCodeAt","collapsedButtonLabel","expandedButtonLabel","keyContent","faqContent","answerParagraph","paragraph","answerOrderedList","answerUnOrderedList","question","CpmAccordion","firstItem","renderedItems","Spacer","defaultStyles","backgroundRepeat","clipPath","polygon","points","ry","fillColor","testId","IllustrationBlock","LivSmartAccent","LivSmartFurniture","HamptonSignature","EnterpriseFiligree","desktopDefinedImage","tabletDefinedImage","mobileDefinedImage","DynamicGridCPM","gridColumns","tabletImageAspectRatio","mobileImageAspectRatio","columnCount","defaultPublicVars","sharedMappingSpec","Grid369","MastheadImage","ExpanderMenu","isDefaultOpen","i18n","e2eCollapseIcon","e2eExpandIcon","dir","header","asChild","wrapper","LinkPossiblyWithoutText","Children","HonorsMarkdownLink","ContentBlocks","contentBlocks","rule","ParagraphWrapper","forceWrapper","HeadingLink","ListItem","h1","TableOfContents","linkGroups","FaqChooseATopic","FaqQuestionSection","questions","FaqAnswerDescriptionWrapper","navMenu","nav","hasSectionHeading","QuestionWrapper","QuestionHeading","paragraphs","unOrderedList","answer","linksIndex","linkProps","charAt","chooseATopic","SharedTextBlock","isFaqDocument","subTopicName","unshift","mapFaq","mapPolicyTermsAndConditions","tableOfContents","isHeadingLevelTwo","compiler","half","mapStory","sharedNamespaces","generateCpmAppInterface","CpmRenderer","mappingSpec","fetchServerCpmPage","makeCpmRenderer","contentPath","localeCode","pathname","cmsPageModel","cpmPageModel","documentData","getArticleTitle","seo","shouldHeaderRenderH1","getPageDocumentData","fetchQuery","httpClient","Promise","resolve","initialize","Intl","Locale","hasPageGotHeadingOne","hasContentGotH1","hasModelsGotH1","refs","hasListDataGotH1","hasDocumentGotH1","hasContentBlockGotH1","extractMappedPage","articleTitle","seoImage","isHeaderH1","hideSearchEngine","metaDescription","metaKeywords","pageHeading","pageTitle","pageDetailThree","trackEventType","brComponents","applyDataMapping","preMapComponent","assignIndexedKeys","CpmPage","main","ONE_LINK_DX_GUESTS_APP_NAME","authenticatedRedirectPaths","CpmRedirectsForAuthenticatedUser","useAuth","isAuthenticated","useLanguage","redirectTo","asPath","isReady","Cpm","setInitialExpandedAccordions","containerClassName","iconIndicatorFillColor","iconIndicatorExpandedFillColor","shouldUnmountChildrenWhenCollapsed","uncontrolledExpandedAccordion","setUncontrolledExpandedAccordion","isUncontrolledComponent","languageDirection","getLanguageDirection","isStackedAccordion","handleIconType","iconSize","RadixAccordion","collapsible","handleValueChange","isExpanded","buttonLabel","accessibleButtonLabel","expandedButtonAccessibleLabel","collapsedButtonAccessibleLabel","iconVariant","shouldRenderChildren","buttonWrapperClassName","data-osc","TriggerWrapper","expandedClassName","collapsedClassName","Wrapper","TabButton","mobileDesktopBreakpoint","onAccordionClick","arrayChildren","toArray","tabList","isValidElement","validTabs","TabList","aria-orientation"],"sourceRoot":"","ignoreList":[]}